Re: [linux-usb-devel] OHCI root_port_reset() deadly loop...

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: David Brownell <david-b@...>
Cc: <linux-usb-devel@...>, <greg@...>, <davem@...>, <linux-usb-users@...>, <linux-kernel@...>
Date: Wednesday, October 10, 2007 - 11:32 am

On Tue, 9 Oct 2007, David Brownell wrote:


The Intel error reports here are kind of unclear.


_When_ are they still in EHCI mode?


Right.  In general the driver _does_ write to the port owner bit when 
it sees a low-speed device is attached to the port.  If that didn't 
happen in this case, maybe it's because the driver didn't see it.  
There are only one or two places in the code where the driver checks.


It certainly would help us if the tests were made on a kernel with
CONFIG_USB_DEBUG enabled.


This implies that the reset sequence finished successfully.  Did that 
actually happen?


But above they said that it _had_ completed!  Did they mean that the 
reset was complete but the driver hadn't yet detected that it was 
complete?


That seems likely.  There's no way (as far as I can tell) for a host to 
see a disconnect while a reset is in progress.  Of course, as soon as 
the reset is over then the host should see the disconnect, and it 
should set the corresponding Connect-Status-Changed bit.

Amusing scenario: Suppose that ehci-hcd initializes the EHCI controller 
(taking control of the port), sees that the device isn't high speed, 
and switches port ownership back to the companion controller, all 
during the span of the companion's reset.  The companion would never 
know anything had happened!  But then everything should just work -- 
the port would be enabled and communication should proceed normally.

Alan Stern

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
OHCI root_port_reset() deadly loop..., David Miller, (Sun Oct 7, 2:53 am)
Re: OHCI root_port_reset() deadly loop..., David Brownell, (Sun Oct 7, 3:31 am)
Re: OHCI root_port_reset() deadly loop..., David Miller, (Sun Oct 7, 3:51 am)
Re: OHCI root_port_reset() deadly loop..., David Miller, (Mon Oct 8, 7:54 pm)
Re: OHCI root_port_reset() deadly loop..., David Brownell, (Tue Oct 9, 12:36 am)
Re: OHCI root_port_reset() deadly loop..., David Miller, (Tue Oct 9, 12:44 am)
Re: OHCI root_port_reset() deadly loop..., David Brownell, (Tue Oct 9, 12:38 pm)
Re: OHCI root_port_reset() deadly loop..., David Miller, (Tue Oct 9, 4:41 pm)
Re: OHCI root_port_reset() deadly loop..., David Brownell, (Tue Oct 9, 5:09 pm)
Re: OHCI root_port_reset() deadly loop..., Greg KH, (Tue Oct 9, 4:46 pm)
Re: OHCI root_port_reset() deadly loop..., David Brownell, (Tue Oct 9, 5:05 pm)
Re: OHCI root_port_reset() deadly loop..., David Brownell, (Tue Oct 9, 12:09 am)
Re: OHCI root_port_reset() deadly loop..., Benjamin Herrenschmidt, (Tue Oct 9, 1:13 am)
Re: OHCI root_port_reset() deadly loop..., David Miller, (Tue Oct 9, 1:26 am)
Re: OHCI root_port_reset() deadly loop..., Benjamin Herrenschmidt, (Tue Oct 9, 2:37 am)
Re: OHCI root_port_reset() deadly loop..., Greg KH, (Mon Oct 8, 11:10 pm)
Re: OHCI root_port_reset() deadly loop..., David Miller, (Mon Oct 8, 11:16 pm)
Re: OHCI root_port_reset() deadly loop..., David Brownell, (Mon Oct 8, 11:34 pm)
Re: OHCI root_port_reset() deadly loop..., David Miller, (Mon Oct 8, 11:42 pm)
Re: OHCI root_port_reset() deadly loop..., Greg KH, (Tue Oct 9, 12:39 am)
Re: OHCI root_port_reset() deadly loop..., David Brownell, (Tue Oct 9, 1:00 am)
Re: OHCI root_port_reset() deadly loop..., Benjamin Herrenschmidt, (Tue Oct 9, 2:43 am)
Re: OHCI root_port_reset() deadly loop..., David Brownell, (Tue Oct 9, 2:48 pm)
Re: OHCI root_port_reset() deadly loop..., David Miller, (Tue Oct 9, 1:23 am)
Re: OHCI root_port_reset() deadly loop..., David Miller, (Tue Oct 9, 12:47 am)
Re: OHCI root_port_reset() deadly loop..., Greg KH, (Tue Oct 9, 2:06 am)
Re: [linux-usb-devel] OHCI root_port_reset() deadly loop..., Alan Stern, (Wed Oct 10, 11:32 am)
Re: OHCI root_port_reset() deadly loop..., Benjamin Herrenschmidt, (Tue Oct 9, 1:11 am)