diff options
Diffstat (limited to 'drivers/dma/sh/shdma-base.c')
-rw-r--r-- | drivers/dma/sh/shdma-base.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/sh/shdma-base.c b/drivers/dma/sh/shdma-base.c index 42d497416196..3a2adb131d46 100644 --- a/drivers/dma/sh/shdma-base.c +++ b/drivers/dma/sh/shdma-base.c | |||
@@ -391,6 +391,8 @@ static dma_async_tx_callback __ld_cleanup(struct shdma_chan *schan, bool all) | |||
391 | dev_dbg(schan->dev, "Bring down channel %d\n", schan->id); | 391 | dev_dbg(schan->dev, "Bring down channel %d\n", schan->id); |
392 | pm_runtime_put(schan->dev); | 392 | pm_runtime_put(schan->dev); |
393 | schan->pm_state = SHDMA_PM_ESTABLISHED; | 393 | schan->pm_state = SHDMA_PM_ESTABLISHED; |
394 | } else if (schan->pm_state == SHDMA_PM_PENDING) { | ||
395 | shdma_chan_xfer_ld_queue(schan); | ||
394 | } | 396 | } |
395 | } | 397 | } |
396 | } | 398 | } |
@@ -951,7 +953,7 @@ void shdma_chan_probe(struct shdma_dev *sdev, | |||
951 | /* Add the channel to DMA device channel list */ | 953 | /* Add the channel to DMA device channel list */ |
952 | list_add_tail(&schan->dma_chan.device_node, | 954 | list_add_tail(&schan->dma_chan.device_node, |
953 | &sdev->dma_dev.channels); | 955 | &sdev->dma_dev.channels); |
954 | sdev->schan[sdev->dma_dev.chancnt++] = schan; | 956 | sdev->schan[id] = schan; |
955 | } | 957 | } |
956 | EXPORT_SYMBOL(shdma_chan_probe); | 958 | EXPORT_SYMBOL(shdma_chan_probe); |
957 | 959 | ||