Commit 2290c377 authored by Luiz Capitulino's avatar Luiz Capitulino Committed by Greg Kroah-Hartman

[PATCH] USB: missing check in usb/serial/usb-serial.c.

 This patch add a missing check in the call to bus_register() and
not initialise `result' (which is not necessary).
Signed-off-by: default avatarLuiz Capitulino <lcapitulino@conectiva.com.br>
Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
parent 3bac8d2b
...@@ -1217,7 +1217,7 @@ struct tty_driver *usb_serial_tty_driver; ...@@ -1217,7 +1217,7 @@ struct tty_driver *usb_serial_tty_driver;
static int __init usb_serial_init(void) static int __init usb_serial_init(void)
{ {
int i; int i;
int result = 0; int result;
usb_serial_tty_driver = alloc_tty_driver(SERIAL_TTY_MINORS); usb_serial_tty_driver = alloc_tty_driver(SERIAL_TTY_MINORS);
if (!usb_serial_tty_driver) if (!usb_serial_tty_driver)
...@@ -1228,13 +1228,17 @@ static int __init usb_serial_init(void) ...@@ -1228,13 +1228,17 @@ static int __init usb_serial_init(void)
serial_table[i] = NULL; serial_table[i] = NULL;
} }
bus_register(&usb_serial_bus_type); result = bus_register(&usb_serial_bus_type);
if (result) {
err("%s - registering bus driver failed", __FUNCTION__);
goto exit_bus;
}
/* register the generic driver, if we should */ /* register the generic driver, if we should */
result = usb_serial_generic_register(debug); result = usb_serial_generic_register(debug);
if (result < 0) { if (result < 0) {
err("%s - registering generic driver failed", __FUNCTION__); err("%s - registering generic driver failed", __FUNCTION__);
goto exit; goto exit_generic;
} }
usb_serial_tty_driver->owner = THIS_MODULE; usb_serial_tty_driver->owner = THIS_MODULE;
...@@ -1252,7 +1256,7 @@ static int __init usb_serial_init(void) ...@@ -1252,7 +1256,7 @@ static int __init usb_serial_init(void)
result = tty_register_driver(usb_serial_tty_driver); result = tty_register_driver(usb_serial_tty_driver);
if (result) { if (result) {
err("%s - tty_register_driver failed", __FUNCTION__); err("%s - tty_register_driver failed", __FUNCTION__);
goto exit_generic; goto exit_reg_driver;
} }
/* register the USB driver */ /* register the USB driver */
...@@ -1269,10 +1273,13 @@ static int __init usb_serial_init(void) ...@@ -1269,10 +1273,13 @@ static int __init usb_serial_init(void)
exit_tty: exit_tty:
tty_unregister_driver(usb_serial_tty_driver); tty_unregister_driver(usb_serial_tty_driver);
exit_generic: exit_reg_driver:
usb_serial_generic_deregister(); usb_serial_generic_deregister();
exit: exit_generic:
bus_unregister(&usb_serial_bus_type);
exit_bus:
err ("%s - returning with error %d", __FUNCTION__, result); err ("%s - returning with error %d", __FUNCTION__, result);
put_tty_driver(usb_serial_tty_driver); put_tty_driver(usb_serial_tty_driver);
return result; return result;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment