usb: atmel_usba_udc: fix it to deal with final dma channel
authorBo Shen <voice.shen@atmel.com>
Thu, 7 Aug 2014 03:43:07 +0000 (11:43 +0800)
committerFelipe Balbi <balbi@ti.com>
Tue, 19 Aug 2014 14:24:41 +0000 (09:24 -0500)
As, the interrupt for DMA is counted from 1, so need to checked
the USBA_NR_DMAS, in old way, it only check (USBA_NR_DMAS - 1),
so fix it.

Reported-by: Max Liao <liaops@embest-tech.com>
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/udc/atmel_usba_udc.c

index 906e65f..c9fe67e 100644 (file)
@@ -1661,7 +1661,7 @@ static irqreturn_t usba_udc_irq(int irq, void *devid)
        if (dma_status) {
                int i;
 
-               for (i = 1; i < USBA_NR_DMAS; i++)
+               for (i = 1; i <= USBA_NR_DMAS; i++)
                        if (dma_status & (1 << i))
                                usba_dma_irq(udc, &udc->usba_ep[i]);
        }