Re: [Bugme-new] [Bug 8378] New: Averatec 3156X laptop doesn't reboot with kernels > 2.6.13.5 (responsible commit found)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrew Morton wrote (at Fri, 27 Apr 2007 14:44:34 -0700) :
> 
> 
> On Fri, 27 Apr 2007 10:42:25 -0700
> [email protected] wrote:
> 
>> http://bugzilla.kernel.org/show_bug.cgi?id=8378
>> 
>>            Summary: Averatec 3156X laptop doesn't reboot with kernels >
>>                     2.6.13.5 (responsible commit found)
>>     Kernel Version: 2.6.14 till 2.6.21
>>             Status: NEW
>>           Severity: normal
>>              Owner: [email protected]
>>          Submitter: [email protected]
>> 
>> 
>> Most recent kernel where this bug did *NOT* occur: 2.6.13.5
>> 
>> Distribution: Debian
>> Hardware Environment: Averatec 3156X (seemingly identical to the american model
>> 3150P)
>> Software Environment:?
>> Problem Description:
>> I noticed that with recent kernels my laptop would reboot when I do an 'init 6',
>> but hang at the end of the init run. The last working vanilla kernel is
>> 2.6.13.5. With some trying and a bit of guessing I found a change to
>> include/asm-i386/mach-default/mach_reboot.h in 2.6.14 to be the culprit. It can
>> be found at:
>> http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.14.y.git;a=commitdiff;h=59f4e7d572980a521b7bdba74ab71b21f5995538
>> 
>> On a 2.6.21 source tree I can revert this patch, and then rebooting works.
>> 
>> Steps to reproduce:
>> 1) On a Averatec 3156X (or 3150p?) boot to your default runlevel.
>> 2) as root, type "init 6".
>> 3) instead of rebooting, the system will hang at the end with a blank screen.
>> 
> 
> Oh dear.  We have an ugly i386 snafu here.  Thanks for doing the bisection
> - it helps enormously.
> 
> Could some brave person please pick it up and see if we can get both
> Truxton and Lee's machines working?

Hi,

I verified on my IDEQ210M that performing the old reboot sequence
followed by the new reboot sequence works for me, and I suspect that
it will work for Lee also.  Like this :

	/* old method, works on most machines */
        for (i = 0; i < 100; i++) {
                kb_wait();
                udelay(50);
                outb(0xfe, 0x64);         /* pulse reset low */
                udelay(50);
        }

	/* new method, sets the "System flag" which when set,
	   indicates successful completion of the keyboard controller
	   self-test (Basic Assurance Test, BAT).  This is needed
	   for some machines with no keyboard plugged in */
        for (i = 0; i < 100; i++) {
                kb_wait();
                udelay(50);
                outb(0x60, 0x64);         /* write Controller Command Byte */
                udelay(50);
                kb_wait();
                udelay(50);
                outb(0x14, 0x60);         /* set "System flag" */
                udelay(50);
                kb_wait();
                udelay(50);
                outb(0xfe, 0x64);         /* pulse reset low */
                udelay(50);
        }

Thanks,

-Truxton
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux