aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Emanuele <rje@crystalfontz.com>2010-12-14 13:00:30 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2010-12-16 16:36:12 -0500
commit2c8245c4990e75d86ab30bb0af9bb90cbe04985d (patch)
tree464671dda8875a54056b1e18008d5a3da9f1cdab
parent6ef9fc657bd69c708ada2ee9fd3b2e13f7600a3d (diff)
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)
2057 usba_ep_cleanup_debugfs(&usba_ep[i]); 2057 usba_ep_cleanup_debugfs(&usba_ep[i]);
2058 usba_cleanup_debugfs(udc); 2058 usba_cleanup_debugfs(udc);
2059 2059
2060 if (gpio_is_valid(udc->vbus_pin)) 2060 if (gpio_is_valid(udc->vbus_pin)) {
2061 free_irq(gpio_to_irq(udc->vbus_pin), udc);
2061 gpio_free(udc->vbus_pin); 2062 gpio_free(udc->vbus_pin);
2063 }
2062 2064
2063 free_irq(udc->irq, udc); 2065 free_irq(udc->irq, udc);
2064 kfree(usba_ep); 2066 kfree(usba_ep);