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