Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Upgrade to 4.4.50-rt62
[kvmfornfv.git]
/
kernel
/
drivers
/
usb
/
serial
/
usb-serial.c
diff --git
a/kernel/drivers/usb/serial/usb-serial.c
b/kernel/drivers/usb/serial/usb-serial.c
index
46f1f13
..
e7e29c7
100644
(file)
--- a/
kernel/drivers/usb/serial/usb-serial.c
+++ b/
kernel/drivers/usb/serial/usb-serial.c
@@
-1077,7
+1077,8
@@
static int usb_serial_probe(struct usb_interface *interface,
serial->disconnected = 0;
serial->disconnected = 0;
- usb_serial_console_init(serial->port[0]->minor);
+ if (num_ports > 0)
+ usb_serial_console_init(serial->port[0]->minor);
exit:
module_put(type->driver.owner);
return 0;
exit:
module_put(type->driver.owner);
return 0;
@@
-1432,7
+1433,7
@@
int usb_serial_register_drivers(struct usb_serial_driver *const serial_drivers[]
rc = usb_register(udriver);
if (rc)
rc = usb_register(udriver);
if (rc)
-
return rc
;
+
goto failed_usb_register
;
for (sd = serial_drivers; *sd; ++sd) {
(*sd)->usb_driver = udriver;
for (sd = serial_drivers; *sd; ++sd) {
(*sd)->usb_driver = udriver;
@@
-1450,6
+1451,8
@@
int usb_serial_register_drivers(struct usb_serial_driver *const serial_drivers[]
while (sd-- > serial_drivers)
usb_serial_deregister(*sd);
usb_deregister(udriver);
while (sd-- > serial_drivers)
usb_serial_deregister(*sd);
usb_deregister(udriver);
+failed_usb_register:
+ kfree(udriver);
return rc;
}
EXPORT_SYMBOL_GPL(usb_serial_register_drivers);
return rc;
}
EXPORT_SYMBOL_GPL(usb_serial_register_drivers);