UPSTREAM: usb: dwc2: gadget: Prevent handling of host interrupts
authorVardan Mikayelyan <mvardan@synopsys.com>
Thu, 28 Apr 2016 03:20:48 +0000 (20:20 -0700)
committerHuang, Tao <huangtao@rock-chips.com>
Tue, 3 Jan 2017 10:48:33 +0000 (18:48 +0800)
In host slave mode, the core asserts the rxready, txfifoempty interrupts
that get serviced in the gadget irq handler. Prevent servicing of these
when not in the gadget mode of operation.

Change-Id: I821c48399f876de045649507435bf2a3e9cf4cc5
Signed-off-by: Vardan Mikayelyan <mvardan@synopsys.com>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
(cherry picked from commit ee3de8d750134703c702534173cd8623d1b32c38)

drivers/usb/dwc2/gadget.c

index d330190f58ef81451452a5c1a2cf96b9f52490eb..4c5e3005e1dc780c1db4632c7f3356398e1c544b 100644 (file)
@@ -2425,6 +2425,9 @@ static irqreturn_t dwc2_hsotg_irq(int irq, void *pw)
        u32 gintsts;
        u32 gintmsk;
 
+       if (!dwc2_is_device_mode(hsotg))
+               return IRQ_NONE;
+
        spin_lock(&hsotg->lock);
 irq_retry:
        gintsts = dwc2_readl(hsotg->regs + GINTSTS);