From: Bo Shen Date: Thu, 7 Aug 2014 03:43:07 +0000 (+0800) Subject: usb: atmel_usba_udc: fix it to deal with final dma channel X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=bcabdc24dff2d65dcc5bec093f30302283e5fdf4;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git usb: atmel_usba_udc: fix it to deal with final dma channel 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 Signed-off-by: Bo Shen Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c b/drivers/usb/gadget/udc/atmel_usba_udc.c index 906e65f0e4fa..c9fe67e29d35 100644 --- a/drivers/usb/gadget/udc/atmel_usba_udc.c +++ b/drivers/usb/gadget/udc/atmel_usba_udc.c @@ -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]); }