MLK-16221-2 usb: cdns3: gadget: avoid visiting register when detach
authorPeter Chen <peter.chen@nxp.com>
Fri, 18 Aug 2017 09:24:04 +0000 (17:24 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:38:26 +0000 (15:38 -0500)
When the port does not connect to host, the controller's gadget
mode is enabled, so we need to avoid visiting register at this situation.

Signed-off-by: Peter Chen <peter.chen@nxp.com>
drivers/usb/cdns3/gadget.c

index 09416c3..921a270 100644 (file)
@@ -1839,7 +1839,8 @@ static int usb_ss_gadget_udc_stop(struct usb_gadget *gadget)
        spin_lock_irqsave(&usb_ss->lock, flags);
        usb_ss->gadget_driver = NULL;
        /* disable interrupt for device */
-       gadget_writel(usb_ss, &usb_ss->regs->usb_ien, 0);
+       if (usb_ss->start_gadget)
+               gadget_writel(usb_ss, &usb_ss->regs->usb_ien, 0);
        spin_unlock_irqrestore(&usb_ss->lock, flags);
 
        return 0;