diff options
author | Oliver Neukum <oliver@neukum.org> | 2008-09-15 11:29:28 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-10-17 17:40:55 -0400 |
commit | 399d31da4e2f701ba91cdb4b39e074d6e16174a9 (patch) | |
tree | 6aaf3ffb3d4121df80db32df14cbe8c916a0fc7b /drivers/usb | |
parent | 682650437e7acef01e914a7fb6ef16da16bb69c5 (diff) |
USB: RESET_RESUME needs to block autosuspend when remote wakeup is needed
Reset upon resumption will wipe the input buffer and is therefore
a reason to not suspend if remote wakeup is requested because
the driver needs that data.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/core/driver.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c index 5a7fa6f09958..e935be7eb468 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c | |||
@@ -1070,7 +1070,8 @@ static int autosuspend_check(struct usb_device *udev, int reschedule) | |||
1070 | struct usb_driver *driver; | 1070 | struct usb_driver *driver; |
1071 | 1071 | ||
1072 | driver = to_usb_driver(intf->dev.driver); | 1072 | driver = to_usb_driver(intf->dev.driver); |
1073 | if (!driver->reset_resume) | 1073 | if (!driver->reset_resume || |
1074 | intf->needs_remote_wakeup) | ||
1074 | return -EOPNOTSUPP; | 1075 | return -EOPNOTSUPP; |
1075 | } | 1076 | } |
1076 | } | 1077 | } |