Re: OHCI root_port_reset() deadly loop...

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <davem@...>
Cc: <linux-usb-users@...>, <linux-kernel@...>, <greg@...>
Date: Sunday, October 7, 2007 - 3:31 am

> From davem@davemloft.net  Sat Oct  6 23:56:49 2007

The all-ones typically indicating something like CardBus eject
not preceded by a "polite" driver shutdown.



Sounds like a hardware issue -- unless something else is trashing
controller state.  We've not observed that specific hardware failure
before, for what it's worth.

Is this SPARC, or is ACPI potentially in play?  PCI, or non-PCI?
Are the other ports still behaving?  Is EHCI maybe trying to switch
ownership of that port?  Is maybe the (newish) autosuspend stuff
kicking in?

The OHCI spec requires the controller to stop the reset itself.
Most silicon seems to have a built-in 10 msec timeout.



Patches accepted.  :)

Since the PRS bit is specified as "write one", with writing zero
as no-effect (since the rest is hardware-timed), the only recovery
procedure might involve resetting the whole controller.  Messy,
and not something the usb core has historically handled very well.

- Dave

-
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: OHCI root_port_reset() deadly loop..., Benjamin Herrenschmidt, (Tue Oct 9, 1:11 am)