Commit 4814030c authored by Sarah Sharp's avatar Sarah Sharp

usb: Initialize hcd->state roothubs.

We would like to allow host controller drivers to stop using hcd->state.
Unfortunately, some host controller drivers use hcd->state as an
implicit way of telling the core that a controller has died.  The
roothub registration functions must assume the host died if hcd->state
equals HC_STATE_HALT.

To facilitate drivers that don't want to set hcd->state to
HC_STATE_RUNNING in their initialization routines, we set the state to
running before calling the host controller's start function.
Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
parent ac04e6ff
...@@ -2347,6 +2347,7 @@ int usb_add_hcd(struct usb_hcd *hcd, ...@@ -2347,6 +2347,7 @@ int usb_add_hcd(struct usb_hcd *hcd,
(unsigned long long)hcd->rsrc_start); (unsigned long long)hcd->rsrc_start);
} }
hcd->state = HC_STATE_RUNNING;
retval = hcd->driver->start(hcd); retval = hcd->driver->start(hcd);
if (retval < 0) { if (retval < 0) {
dev_err(hcd->self.controller, "startup error %d\n", retval); dev_err(hcd->self.controller, "startup error %d\n", retval);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment