Commit 8034da7ab8f5db3bd4e98be8916f514e9cfab14f
1 parent
cf20e3c5a0
Exists in
master
usb: musb: cppi41dma: fix channel status
Channel status was wrongly set to FREE while it should be done just before calling dma_completion. Merge to: commit 26be0d11e79728339e4e627dc27d6894bcb5de82 usb: musb: cppi41dma: yield cpu in tx fifo empty workqueue
Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff
drivers/usb/musb/cppi41_dma.c
... | ... | @@ -1308,6 +1308,8 @@ |
1308 | 1308 | MUSB_TXCSR_FIFONOTEMPTY)) { |
1309 | 1309 | resched = 1; |
1310 | 1310 | } else { |
1311 | + tx_ch->channel.status = | |
1312 | + MUSB_DMA_STATUS_FREE; | |
1311 | 1313 | tx_ch->tx_complete = 0; |
1312 | 1314 | musb_dma_completion(musb, index+1, 1); |
1313 | 1315 | } |
... | ... | @@ -1420,8 +1422,6 @@ |
1420 | 1422 | (tx_ch->transfer_mode && !tx_ch->zlp_queued)) |
1421 | 1423 | cppi41_next_tx_segment(tx_ch); |
1422 | 1424 | else if (tx_ch->channel.actual_len >= tx_ch->length) { |
1423 | - tx_ch->channel.status = MUSB_DMA_STATUS_FREE; | |
1424 | - | |
1425 | 1425 | /* |
1426 | 1426 | * We get Tx DMA completion interrupt even when |
1427 | 1427 | * data is still in FIFO and not moved out to |