瀏覽代碼

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>
Greg Kroah-Hartman 13 年之前
父節點
當前提交
dcd82cd1c2
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      drivers/usb/serial/usb-serial.c

+ 4 - 2
drivers/usb/serial/usb-serial.c

@@ -1176,8 +1176,10 @@ static int usb_serial_reset_resume(struct usb_interface *intf)
 	serial->suspending = 0;
 	if (serial->type->reset_resume)
 		rv = serial->type->reset_resume(serial);
-	else
-		rv = usb_serial_generic_resume(serial);
+	else {
+		rv = -EOPNOTSUPP;
+		intf->needs_binding = 1;
+	}
 
 	return rv;
 }