diff options
author | Rob Emanuele <rje@crystalfontz.com> | 2010-12-14 13:00:30 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-12-16 16:36:12 -0500 |
commit | 2c8245c4990e75d86ab30bb0af9bb90cbe04985d (patch) | |
tree | 464671dda8875a54056b1e18008d5a3da9f1cdab | |
parent | 6ef9fc657bd69c708ada2ee9fd3b2e13f7600a3d (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.c | 4 |
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); |