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

Reply via email to