static int generic_resume(struct usb_device *udev) { int rc; /* Normal USB devices resume/reset through their upstream port. * Root hubs don't have upstream ports to resume or reset, * so we have to start up their downstream HC-to-USB * interfaces manually by doing a bus (or "global") resume. */ if (!udev->parent) rc = hcd_bus_resume(udev); else rc = usb_port_resume(udev); return rc; }
static int generic_resume(struct usb_device *udev, pm_message_t msg) { int rc; MYDBG("udev : %x", (unsigned int)udev); /* Normal USB devices resume/reset through their upstream port. * Root hubs don't have upstream ports to resume or reset, * so we have to start up their downstream HC-to-USB * interfaces manually by doing a bus (or "global") resume. */ if (!udev->parent) { MYDBG("udev : %x", (unsigned int)udev); rc = hcd_bus_resume(udev, msg); } else { MYDBG("udev : %x", (unsigned int)udev); rc = usb_port_resume(udev, msg); } return rc; }