Re: test6pre1 change for sysrq config-option

From: Philipp Rumpf (prumpf@parcelfarce.linux.theplanet.co.uk)
Date: Thu Aug 03 2000 - 16:46:52 EST


On Thu, Aug 03, 2000 at 11:11:36AM -0400, Theodore Ts'o wrote:
> 1) Serial sysrq is reported no to work for 2.4 kernels.
>
> I haven't heard of any such reports. I'm currently on the road right

I think you have, actually. I was under the impression the last reply you
sent about it was "Here's how I fixed it".

> now, so I can't test this right away. If someone running 2.4.0test5 can
> test this and confirm/deny this claim, I would appreciate it. If it
> doesn't work, full debugging particulars would be appreciate it.

For the benefit of the list, here is what happened here that made serial
SysRq not work:

wait_for_xmitr currently looks like this:

        while (--tmout &&
               ((serial_in(info, UART_LSR) & BOTH_EMPTY) != BOTH_EMPTY));

The BI bit in the UART's LSR register is cleared on read; this means that
whenever a printk goes out over the serial console, we potentially lose a
break condition. As soon as you enable verbose debugging in the serial
driver, this will always hit you - there's a printk in the interrupt
handler before we read LSR.

Another issue is that very often, UART_LSR_BI isn't set in the
read_status_mask which means sysrq breaks will be ignored as well. I think
it doesn't make a lot of sense this way, and it certainly could be
responsible for some of the "serial SysRq doesn't work" reports.

With those two issues fixed, serial SysRq works fine here.

        Philipp Rumpf

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



This archive was generated by hypermail 2b29 : Mon Aug 07 2000 - 21:00:11 EST