]> git.baikalelectronics.ru Git - kernel.git/commit
USB: musb: fix for crash in DM646x USB when (CPPI)DMA is enabled
authorSwaminathan S <swami.iyer@ti.com>
Tue, 15 Dec 2009 11:30:00 +0000 (13:30 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Dec 2009 19:34:17 +0000 (11:34 -0800)
commit74848c88bde77118e37dd4cfc3df56484194074e
tree820ee4a9ffa037b121ee0308cc34c141c2a3df08
parent8015b7fc8c6053461059093e24aafae59f7779c5
USB: musb: fix for crash in DM646x USB when (CPPI)DMA is enabled

Race condition exists between the cppi_interrupt handler and
davinci_interrupt handler w.r.t completing a TX IO.  Since DM646x
has seperate DMA and USB endpoint interrupts cppi_interrupt handler
needs to hold the lock while operating on the endpoint.

Update over previous patch to avoid taking the lock if already
taken.  Tested on DM644x, DM355 and DM646x platforms.

Signed-off-by: Swaminathan S <swami.iyer@ti.com>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Acked-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/musb/cppi_dma.c