diff options
author | Rahul Ruikar <rahul.ruikar@gmail.com> | 2010-10-20 19:01:51 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-10-22 13:22:19 -0400 |
commit | f34c25ed78df6d1297db2187bf5e58aaf6674183 (patch) | |
tree | 2326030c09f15b051e9aea5c3c5f658d83634eb0 /drivers/usb/gadget | |
parent | e581c8c8a957776db452afe316706242abcc1cdc (diff) |
USB: gadget: amd5536udc.c: fix error path
In function udc_probe() call put_device() when device_register() fails.
Signed-off-by: Rahul Ruikar <rahul.ruikar@gmail.com>
Acked-by: Thomas Dahlmann <dahlmann.thomas@arcor.de>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r-- | drivers/usb/gadget/amd5536udc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/gadget/amd5536udc.c b/drivers/usb/gadget/amd5536udc.c index 2b361500af1e..9034e0344723 100644 --- a/drivers/usb/gadget/amd5536udc.c +++ b/drivers/usb/gadget/amd5536udc.c | |||
@@ -3383,8 +3383,10 @@ static int udc_probe(struct udc *dev) | |||
3383 | udc = dev; | 3383 | udc = dev; |
3384 | 3384 | ||
3385 | retval = device_register(&dev->gadget.dev); | 3385 | retval = device_register(&dev->gadget.dev); |
3386 | if (retval) | 3386 | if (retval) { |
3387 | put_device(&dev->gadget.dev); | ||
3387 | goto finished; | 3388 | goto finished; |
3389 | } | ||
3388 | 3390 | ||
3389 | /* timer init */ | 3391 | /* timer init */ |
3390 | init_timer(&udc_timer); | 3392 | init_timer(&udc_timer); |