aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Goby <benoit@android.com>2013-10-18 17:16:38 -0700
committerJohn Stultz <john.stultz@linaro.org>2013-10-21 09:51:30 -0700
commitce5c776ed5ed5c8619930387c5c10ec3f0d53047 (patch)
treede7c16c58fbccf32ee1add1c207d307e611e1a18
parent84bb63eb93e4448e891108195ba0a8f654329779 (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> Signed-off-by: John Stultz <john.stultz@linaro.org>
-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: