|
@@ -1751,6 +1751,7 @@ static int dwc3_gadget_start(struct usb_gadget *g,
|
|
|
irq, ret);
|
|
|
goto err0;
|
|
|
}
|
|
|
+ dwc->irq_gadget = irq;
|
|
|
|
|
|
spin_lock_irqsave(&dwc->lock, flags);
|
|
|
if (dwc->gadget_driver) {
|
|
@@ -1787,15 +1788,13 @@ static int dwc3_gadget_stop(struct usb_gadget *g)
|
|
|
{
|
|
|
struct dwc3 *dwc = gadget_to_dwc(g);
|
|
|
unsigned long flags;
|
|
|
- int irq;
|
|
|
|
|
|
spin_lock_irqsave(&dwc->lock, flags);
|
|
|
__dwc3_gadget_stop(dwc);
|
|
|
dwc->gadget_driver = NULL;
|
|
|
spin_unlock_irqrestore(&dwc->lock, flags);
|
|
|
|
|
|
- irq = platform_get_irq(to_platform_device(dwc->dev), 0);
|
|
|
- free_irq(irq, dwc->ev_buf);
|
|
|
+ free_irq(dwc->irq_gadget, dwc->ev_buf);
|
|
|
|
|
|
return 0;
|
|
|
}
|