usb_gadget: composite cdc gadget fault handling

These two fixes ensure the new "CDC Composite Device" gadget
fails cleanly when it's loaded on hardware that can't support
this particular gadget driver.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
David Brownell 2008-07-01 13:18:20 -07:00 committed by Greg Kroah-Hartman
parent c24f42276b
commit ac90e36592
2 changed files with 4 additions and 1 deletions

View file

@ -124,7 +124,7 @@ static int __init cdc_do_config(struct usb_configuration *c)
return status; return status;
status = acm_bind_config(c, 0); status = acm_bind_config(c, 0);
if (status == 0) if (status < 0)
return status; return status;
return 0; return 0;

View file

@ -1090,6 +1090,9 @@ void gserial_cleanup(void)
unsigned i; unsigned i;
struct gs_port *port; struct gs_port *port;
if (!gs_tty_driver)
return;
/* start sysfs and /dev/ttyGS* node removal */ /* start sysfs and /dev/ttyGS* node removal */
for (i = 0; i < n_ports; i++) for (i = 0; i < n_ports; i++)
tty_unregister_device(gs_tty_driver, i); tty_unregister_device(gs_tty_driver, i);