usb: musb: workaround MUSB DMA_INTR sometimes reads zero
authorAnand Gadiyar <gadiyar@ti.com>
Mon, 28 Dec 2009 11:40:36 +0000 (13:40 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 2 Mar 2010 22:53:42 +0000 (14:53 -0800)
commitf933a0c0fe0ea5f49a35bcd45e3e4850e0606cba
tree9a8052f7fd2119bd76f7cd94c6db5ae7324c21cd
parent452f0394376d2cc882e4c4a593fc290c042799a9
usb: musb: workaround MUSB DMA_INTR sometimes reads zero

MUSB DMA_INTR register may sometimes read zero when infact there
was a pending interrupt. Workaround this by reading the DMA_COUNT
values for all enabled channels when this condition occurs.
Flag these channels as the ones needing to be serviced.

Additionally, the absence of a debug print meant we would never
catch a spurious DMA interrupt in MUSB. So this patch adds a
debug print in the IRQ handler.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: Ajay Kumar Gupta <ajay.gupta@ti.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/musb/musbhsdma.c