summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Emanuele <rje@crystalfontz.com>2010-12-14 21:00:30 +0300
committerGreg Kroah-Hartman <gregkh@suse.de>2010-12-17 00:36:12 +0300
commit2c8245c4990e75d86ab30bb0af9bb90cbe04985d (patch)
tree464671dda8875a54056b1e18008d5a3da9f1cdab
parent6ef9fc657bd69c708ada2ee9fd3b2e13f7600a3d (diff)
downloadlinux-2c8245c4990e75d86ab30bb0af9bb90cbe04985d.tar.xz
USB: atmel_usba_udc: fix freeing irq in usba_udc_remove()
Add a free_irq() call on vbus gpio when we remove udc so that the vbus irq is properly released. Signed-off-by: Rob Emanuele <rje@crystalfontz.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/gadget/atmel_usba_udc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c
index 717ff653fa23..e7c65a4408fb 100644
--- a/drivers/usb/gadget/atmel_usba_udc.c
+++ b/drivers/usb/gadget/atmel_usba_udc.c
@@ -2057,8 +2057,10 @@ static int __exit usba_udc_remove(struct platform_device *pdev)
usba_ep_cleanup_debugfs(&usba_ep[i]);
usba_cleanup_debugfs(udc);
- if (gpio_is_valid(udc->vbus_pin))
+ if (gpio_is_valid(udc->vbus_pin)) {
+ free_irq(gpio_to_irq(udc->vbus_pin), udc);
gpio_free(udc->vbus_pin);
+ }
free_irq(udc->irq, udc);
kfree(usba_ep);