aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRahul Ruikar <rahul.ruikar@gmail.com>2011-02-09 13:44:28 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-02-17 10:47:56 -0800
commit8ab10400a037a516cc846c338f879e5bd62497ce (patch)
treedea27c0e6bdef9f9d5ea6ecbf1a492948c94933b
parentb14e840d04dba211fbdc930247e379085623eacd (diff)
usb: gadget: at91_udc: Fix error path
In function at91udc_probe() call put_device() when device_register() fails. Signed-off-by: Rahul Ruikar <rahul.ruikar@gmail.com> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/gadget/at91_udc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index bdec36acd0f..bb8ddf0469f 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -1798,8 +1798,10 @@ static int __init at91udc_probe(struct platform_device *pdev)
}
retval = device_register(&udc->gadget.dev);
- if (retval < 0)
+ if (retval < 0) {
+ put_device(&udc->gadget.dev);
goto fail0b;
+ }
/* don't do anything until we have both gadget driver and VBUS */
clk_enable(udc->iclk);