summaryrefslogtreecommitdiff
path: root/drivers/usb/core/driver.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-06-30 15:45:28 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-06-30 15:45:28 -0700
commit9f2952dbcbc0a143cff19f2e44fc504901aad86f (patch)
tree2294abc07403646fbb75d99e174be0f1edd62e52 /drivers/usb/core/driver.c
parent59e7648644d114094525081c3614acefffae8de4 (diff)
parentb894f60a232d552fc18b018271c2893f0b0c1c15 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (22 commits) USB: gadget: f_mass_storage: stale common->fsg value bug fix USB: gadget: f_mass_storage: fixed fs descriptors not being updated USB: musb: Enable the maximum supported burst mode for DMA USB: musb: fix Blackfin ulpi stubs USB: MUSB: make non-OMAP platforms build with CONFIG_PM=y USB: musb_core: make disconnect and suspend interrupts work again USB: obey the sysfs power/wakeup setting USB: gadget eth: Fix calculate CRC32 in EEM USB: qcserial: fix a memory leak in qcprobe error path USB: gadget/printer, fix sleep inside atomic USB: isp1362-hcd, fix double lock USB: serial: ftdi: correct merge conflict with CONTEC id USB: fix oops in usb_sg_init() USB: s3c2410: deactivate endpoints before gadget unbinding USB: ehci-mxc: bail out on transceiver problems USB: otg/ulpi: bail out on read errors usb: musb: Fix a bug by making suspend interrupt available in device mode USB: r8a66597: Fix failure in change of status USB: xHCI: Fix bug in link TRB activation change. USB: gadget: g_fs: possible invalid pointer reference bug fixed ...
Diffstat (limited to 'drivers/usb/core/driver.c')
-rw-r--r--drivers/usb/core/driver.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
index de98a94d1853..a6bd53ace035 100644
--- a/drivers/usb/core/driver.c
+++ b/drivers/usb/core/driver.c
@@ -1272,8 +1272,7 @@ static int usb_resume_both(struct usb_device *udev, pm_message_t msg)
static void choose_wakeup(struct usb_device *udev, pm_message_t msg)
{
- int w, i;
- struct usb_interface *intf;
+ int w;
/* Remote wakeup is needed only when we actually go to sleep.
* For things like FREEZE and QUIESCE, if the device is already
@@ -1285,16 +1284,10 @@ static void choose_wakeup(struct usb_device *udev, pm_message_t msg)
return;
}
- /* If remote wakeup is permitted, see whether any interface drivers
+ /* Enable remote wakeup if it is allowed, even if no interface drivers
* actually want it.
*/
- w = 0;
- if (device_may_wakeup(&udev->dev) && udev->actconfig) {
- for (i = 0; i < udev->actconfig->desc.bNumInterfaces; i++) {
- intf = udev->actconfig->interface[i];
- w |= intf->needs_remote_wakeup;
- }
- }
+ w = device_may_wakeup(&udev->dev);
/* If the device is autosuspended with the wrong wakeup setting,
* autoresume now so the setting can be changed.