Re: 2.6.7-mm6

Dmitry Torokhov
2004-07-07T12:47:23Z

On Wednesday 07 July 2004 01:37 am, William Lee Irwin III wrote:
> On Wed, Jul 07, 2004 at 12:15:37AM -0500, Dmitry Torokhov wrote:
> > The only suspicious thing that I see is that sunzilog tries to register its
> > serio ports with spinlock held and interrupts off. I wonder if that is what
> > causing a deadlock. Could you please try applying this patch on top of the
> > changes to the drivers/Makefile that I sent earlier.
>
> This suspicion is correct. It boots normally with the patch you posted
> to do that registration outside the interrupts-off critical section
> applied. Bootlog below.
>

Great! I am still somewhat confused why it started locking up with sysfs
patch - even before sunzilog was calling serio_register_port with interrupts
off and serio core was downing it's serio_sem as the very first thing. Since
at the time sunzilog registers its ports no serio drivers have been registered
yet, effectively the only change introduced by sysfs patch is the call to
device_register which takes bus' subsystem rwsem and there really should not
be any congestion.

Maybe rwsems can not be touched with interrupts off? Sparc only? Everywhere?
(I know that you should not normally call functions that may sleep with
interrupts off).

--
Dmitry