diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/musb/musbhsdma.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/usb/musb/musbhsdma.c b/drivers/usb/musb/musbhsdma.c index 5e83f96d6b77..c767387f507b 100644 --- a/drivers/usb/musb/musbhsdma.c +++ b/drivers/usb/musb/musbhsdma.c | |||
@@ -259,6 +259,11 @@ static irqreturn_t dma_controller_irq(int irq, void *private_data) | |||
259 | if (!int_hsdma) | 259 | if (!int_hsdma) |
260 | goto done; | 260 | goto done; |
261 | 261 | ||
262 | #ifdef CONFIG_BLACKFIN | ||
263 | /* Clear DMA interrupt flags */ | ||
264 | musb_writeb(mbase, MUSB_HSDMA_INTR, int_hsdma); | ||
265 | #endif | ||
266 | |||
262 | for (bchannel = 0; bchannel < MUSB_HSDMA_CHANNELS; bchannel++) { | 267 | for (bchannel = 0; bchannel < MUSB_HSDMA_CHANNELS; bchannel++) { |
263 | if (int_hsdma & (1 << bchannel)) { | 268 | if (int_hsdma & (1 << bchannel)) { |
264 | musb_channel = (struct musb_dma_channel *) | 269 | musb_channel = (struct musb_dma_channel *) |
@@ -324,11 +329,6 @@ static irqreturn_t dma_controller_irq(int irq, void *private_data) | |||
324 | } | 329 | } |
325 | } | 330 | } |
326 | 331 | ||
327 | #ifdef CONFIG_BLACKFIN | ||
328 | /* Clear DMA interrup flags */ | ||
329 | musb_writeb(mbase, MUSB_HSDMA_INTR, int_hsdma); | ||
330 | #endif | ||
331 | |||
332 | retval = IRQ_HANDLED; | 332 | retval = IRQ_HANDLED; |
333 | done: | 333 | done: |
334 | spin_unlock_irqrestore(&musb->lock, flags); | 334 | spin_unlock_irqrestore(&musb->lock, flags); |