Re: Hang on "echo b > /proc/sysrq-trigger"

From: Keith Chew
Date: Sat Mar 10 2012 - 18:45:47 EST


Hi Eric

Keep a quick update...

>> I would check with your BIOS folks and perhaps play with the kernel
>> option.  The most reliable way to peform a reset is to trigger a board
>> reset by writing to 0xcf9 or a similar register.  I expect your BIOS
>> does that and you can probably get the kernel to do that.  I would
>> definitely test to see if you can write to the mostly standard
>> 0xcf9 register directly from the kernel and trigger a reset directly.
>>

Thank you very much for this. We have tried with reboot=p, which is
writing to the 0xCF9 register directly, and the test has been running
good for the past 9 days. Will keep monitoring it.

Also, I have also added a delay in the KBD reboot, which appears to
have made the reboot reliable (running good for past 8 days, before it
would hang after 2 days):
-----------------------
kb_wait();
udelay(150); <------ Increased from 50
outb(0xfe, 0x64); /* pulse reset low */
udelay(50);
-----------------------

Looks like the code may be issuing the reboot a bit too early after
returning from kb_wait().

Regards
Keith
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/