Re: [PATCH] usb ehci_iaa_watchdog fix

Alan Stern
2008-04-02T20:55:49Z

On Wed, 2 Apr 2008, David Brownell wrote:

> Those hcd->state tests have been getting more and more
> dodgey as time goes by. At this point I hardly trust
> any of them. There *IS* no clear state machine which
> governs the usbcore/HCD interaction.

ISTR trying to make that same point a few times over the past two or
three years... :-)

It would make more sense for each HCD to keep its own private "state"
variable. The interaction with usbcore can be broken down into a few
simple tests, such as:

Is the HC dead?
Is the HC (i.e., the PCI or platform device) suspended?
Is the HC running?
Is it okay to submit an URB?

There's plenty of redundancy in this list, and some of the information
may already be available in hcd->self.root_hub->state. In many or most
cases, these questions can't be answered in a race-free manner anyhow,
which limits their usefulness.

Alan Stern