aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/usb-serial.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-16 11:37:17 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-16 11:37:17 -0400
commitdcd82cd1c249fb85bad3da5d2a07a116cd65a22b (patch)
tree69c42cba689d31a3ac1115c7e1a5e30bd2bc06cf /drivers/usb/serial/usb-serial.c
parent1c1eaba8e72768156db4faff3a2c3a6ca7dea129 (diff)
USB: serial: fix up reset_resume callback
If the usb-serial driver doesn't have a reset_resume callback, then we need to tell the USB core that it doesn't, and it needs to rebind the device. Thanks to Alan for pointing out my mistake, and providing the fix. Reported-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/serial/usb-serial.c')
-rw-r--r--drivers/usb/serial/usb-serial.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index 846506f05e12..6a1b609a0d94 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -1176,8 +1176,10 @@ static int usb_serial_reset_resume(struct usb_interface *intf)
1176 serial->suspending = 0; 1176 serial->suspending = 0;
1177 if (serial->type->reset_resume) 1177 if (serial->type->reset_resume)
1178 rv = serial->type->reset_resume(serial); 1178 rv = serial->type->reset_resume(serial);
1179 else 1179 else {
1180 rv = usb_serial_generic_resume(serial); 1180 rv = -EOPNOTSUPP;
1181 intf->needs_binding = 1;
1182 }
1181 1183
1182 return rv; 1184 return rv;
1183} 1185}