Re: [PATCH] usb ehci_iaa_watchdog fix

From: Alan Stern
Date: Wed Apr 02 2008 - 16:55:51 EST


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

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