Re: [Linux-usb-users] OHCI root_port_reset() deadly loop...

From: Alan Stern
Date: Wed Oct 17 2007 - 11:56:34 EST


On Tue, 16 Oct 2007, Greg KH wrote:

> But perhaps we can order the hardware init stuff from all three together
> like this into a separate module they all depend on. In a way, that's
> what the lock tried to do, right? Are we just not catching all places
> we could have hardware being talked to by two modules at the same time?

No, we do catch the one place where it happens. The problem seems to
be that the hardware update takes some time. That is, on one side we
take the write lock, talk to the EHCI hardware, and drop the write
lock. On the other side we take the read lock, talk to the OHCI
hardware, and drop the read lock. Nevertheless, the interference
occurs. David B.'s interpretation is that the hardware's change of
state takes more time than the CPU uses in manipulating locks and
switching tasks. Hence his suggestion for adding a delay.

Alan Stern

-
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/