aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Cherian <george.cherian@ti.com>2014-02-27 00:14:41 -0500
committerVinod Koul <vinod.koul@intel.com>2014-03-11 06:52:43 -0400
commitf967d104b661c25a9a396e42a1f8ebe3431adc23 (patch)
treefea61f8fa284f0fd5a3fcb742579540329561b5b
parent8f83f502290e75b927de65b2e26f56c2d4736fac (diff)
usb: musb: musb_cppi41: Dont reprogram DMA if tear down is initiated
Reprogramming the DMA after tear down is initiated leads to warning. This is mainly seen with ISOCH since we do a delayed completion for ISOCH transfers. In ISOCH transfers dma_completion should not reprogram if the channel tear down is initiated. Signed-off-by: George Cherian <george.cherian@ti.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
-rw-r--r--drivers/usb/musb/musb_cppi41.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_cppi41.c b/drivers/usb/musb/musb_cppi41.c
index f88929609bac..c0c6281e3496 100644
--- a/drivers/usb/musb/musb_cppi41.c
+++ b/drivers/usb/musb/musb_cppi41.c
@@ -119,7 +119,8 @@ static void cppi41_trans_done(struct cppi41_dma_channel *cppi41_channel)
119 struct musb_hw_ep *hw_ep = cppi41_channel->hw_ep; 119 struct musb_hw_ep *hw_ep = cppi41_channel->hw_ep;
120 struct musb *musb = hw_ep->musb; 120 struct musb *musb = hw_ep->musb;
121 121
122 if (!cppi41_channel->prog_len) { 122 if (!cppi41_channel->prog_len ||
123 (cppi41_channel->channel.status == MUSB_DMA_STATUS_FREE)) {
123 124
124 /* done, complete */ 125 /* done, complete */
125 cppi41_channel->channel.actual_len = 126 cppi41_channel->channel.actual_len =