2.6.9-rc2+BK hvc console oops
Ryan Arnold
rsa at us.ibm.com
Tue Sep 21 04:42:43 EST 2004
On Sat, 2004-09-18 at 02:06, Anton Blanchard wrote:
> Hi,
>
> Just got this oops on current -BK.
>
> Anton
>
> INIT: Sending processes the KILL signal
> cpu 0x0: Vector: 300 (Data Access) at [c00000000f86f460]
> pc: c0000000003fdb38: ._spin_lock_irqsave+0x30/0xbc
> lr: c000000000221c18: .hvc_hangup+0x38/0xd4
> sp: c00000000f86f6e0
> msr: 8000000000001032
Ugh, The problem here is the same as was seen in hvc_close() earlier. I
should have been paying more attention. My naive fix for blocking ldisc
writes during a tty close by setting tty->driver_data = NULL isn't going
to cut it.
It looks like hangup is being called while tty-release() is waiting for
a previously called driver level close() operation to complete. The tty
layer doesn't seem to care about the fact that release_dev() is
blocking. I think I may get rid of the tty->driver_data = NULL fix and
use an atomic write/read on a flag during the close operation to prevent
such things as writes and hangups during close ops.
Ryan S. Arnold
IBM Linux Technology Center
More information about the Linuxppc64-dev
mailing list