diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-02-07 09:48:51 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-03-19 16:29:08 +0100 |
commit | d465cb7a721eb07c8efb460212697809502ad1e3 (patch) | |
tree | e0643aa85a5dae79fb8cd0f89d455711553ab595 | |
parent | 073fb20afecccdf48e1f8a911ccfbdcaf5bbb4dd (diff) | |
download | barebox-d465cb7a721eb07c8efb460212697809502ad1e3.tar.gz barebox-d465cb7a721eb07c8efb460212697809502ad1e3.tar.xz |
usb: gadget: set composite to NULL when usb_gadget_register_driver fails
So that it can be tried later again.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/usb/gadget/composite.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index 11b6c186e3..71d0ecf39c 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -994,6 +994,8 @@ static struct usb_gadget_driver composite_driver = { */ int usb_composite_register(struct usb_composite_driver *driver) { + int ret; + if (!driver || !driver->dev || !driver->bind || composite) return -EINVAL; @@ -1002,7 +1004,12 @@ int usb_composite_register(struct usb_composite_driver *driver) composite_driver.function = (char *) driver->name; composite = driver; - return usb_gadget_register_driver(&composite_driver); + ret = usb_gadget_register_driver(&composite_driver); + + if (ret) + composite = NULL; + + return ret; } /** |