diff options
| -rw-r--r-- | drivers/dma/cppi41.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/dma/cppi41.c b/drivers/dma/cppi41.c index c18aebf7d5aa..d028f36ae655 100644 --- a/drivers/dma/cppi41.c +++ b/drivers/dma/cppi41.c | |||
| @@ -620,12 +620,15 @@ static int cppi41_stop_chan(struct dma_chan *chan) | |||
| 620 | u32 desc_phys; | 620 | u32 desc_phys; |
| 621 | int ret; | 621 | int ret; |
| 622 | 622 | ||
| 623 | desc_phys = lower_32_bits(c->desc_phys); | ||
| 624 | desc_num = (desc_phys - cdd->descs_phys) / sizeof(struct cppi41_desc); | ||
| 625 | if (!cdd->chan_busy[desc_num]) | ||
| 626 | return 0; | ||
| 627 | |||
| 623 | ret = cppi41_tear_down_chan(c); | 628 | ret = cppi41_tear_down_chan(c); |
| 624 | if (ret) | 629 | if (ret) |
| 625 | return ret; | 630 | return ret; |
| 626 | 631 | ||
| 627 | desc_phys = lower_32_bits(c->desc_phys); | ||
| 628 | desc_num = (desc_phys - cdd->descs_phys) / sizeof(struct cppi41_desc); | ||
| 629 | WARN_ON(!cdd->chan_busy[desc_num]); | 632 | WARN_ON(!cdd->chan_busy[desc_num]); |
| 630 | cdd->chan_busy[desc_num] = NULL; | 633 | cdd->chan_busy[desc_num] = NULL; |
| 631 | 634 | ||
