usb: dwc3: gadget: don't interrupt when chained
authorFelipe Balbi <felipe.balbi@linux.intel.com>
Wed, 6 Apr 2016 07:01:14 +0000 (10:01 +0300)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 19 Apr 2016 08:11:52 +0000 (11:11 +0300)
It makes no sense to interrupt in the middle of
chained transfer. This patch just makes sure we
don't do that.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/gadget.c

index c068a8f..88fd30b 100644 (file)
@@ -804,7 +804,7 @@ static void dwc3_prepare_one_trb(struct dwc3_ep *dep,
        /* always enable Continue on Short Packet */
        trb->ctrl |= DWC3_TRB_CTRL_CSP;
 
-       if (!req->request.no_interrupt)
+       if (!req->request.no_interrupt && !chain)
                trb->ctrl |= DWC3_TRB_CTRL_IOC | DWC3_TRB_CTRL_ISP_IMI;
 
        if (last)