> >The bus will not be suspend unless all devices on the bus are suspended.
> >While
>
> I think this behavior may happen for Autosuspend mode.
> However my case is Manual mode and I understand that anytime the bus could be
> forcefully suspended.
> In that case if there are pending URBs, will they stop and restart on a
> RESUME?
static int hub_suspend(struct usb_interface *intf, pm_message_t msg)
{
struct usb_hub *hub = usb_get_intfdata (intf);
struct usb_device *hdev = hub->hdev;
unsigned port1;
/* fail if children aren't already suspended */
for (port1 = 1; port1 <= hdev->maxchild; port1++) {
struct usb_device *udev;
udev = hdev->children [port1-1];
if (udev && udev->can_submit) {
if (!hdev->auto_pm)
dev_dbg(&intf->dev, "port %d nyet suspended\n",
port1);
return -EBUSY;
}
}
You will get into the code path that returns -EBUSY and the suspend will
fail.
Regards
Oliver
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html