aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Goby <benoit@android.com>2013-10-18 17:16:38 -0700
committerBenoit Goby <benoitgoby@google.com>2013-10-24 19:30:28 +0000
commit50ce1106dc0d0e9a631795b5c51ae171d62c9910 (patch)
treee06f0d2a2c79323695329f49793ad8e1fa544784
parent637dd81343b2019938cf6307f75bb7c934a99fc2 (diff)
usb: gadget: android: Remove device if probe fails
Make sure the android0 device is removed before we can destroy the class. Change-Id: Id584888c407beb80a1df4990f73fe31ccb9d4767 Signed-off-by: Benoit Goby <benoit@android.com>
-rw-r--r--drivers/usb/gadget/android.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/gadget/android.c b/drivers/usb/gadget/android.c
index d0ec54b810c..04cbeb13481 100644
--- a/drivers/usb/gadget/android.c
+++ b/drivers/usb/gadget/android.c
@@ -1490,7 +1490,7 @@ static int __init init(void)
err = usb_composite_probe(&android_usb_driver);
if (err) {
pr_err("%s: failed to probe driver %d", __func__, err);
- goto err_create;
+ goto err_probe;
}
/* HACK: exchange composite's setup with ours */
@@ -1499,6 +1499,8 @@ static int __init init(void)
return 0;
+err_probe:
+ device_destroy(android_class, dev->dev->devt);
err_create:
kfree(dev);
err_dev: