|
@@ -132,7 +132,8 @@ static void cppi41_trans_done(struct cppi41_dma_channel *cppi41_channel)
|
|
struct musb_hw_ep *hw_ep = cppi41_channel->hw_ep;
|
|
struct musb_hw_ep *hw_ep = cppi41_channel->hw_ep;
|
|
struct musb *musb = hw_ep->musb;
|
|
struct musb *musb = hw_ep->musb;
|
|
|
|
|
|
- if (!cppi41_channel->prog_len) {
|
|
|
|
|
|
+ if (!cppi41_channel->prog_len ||
|
|
|
|
+ (cppi41_channel->channel.status == MUSB_DMA_STATUS_FREE)) {
|
|
|
|
|
|
/* done, complete */
|
|
/* done, complete */
|
|
cppi41_channel->channel.actual_len =
|
|
cppi41_channel->channel.actual_len =
|