diff options
Diffstat (limited to 'drivers/dma/dmaengine.c')
-rw-r--r-- | drivers/dma/dmaengine.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 2890d744bb1b..3ddfd1f6c23c 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c | |||
@@ -487,7 +487,11 @@ int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps) | |||
487 | caps->directions = device->directions; | 487 | caps->directions = device->directions; |
488 | caps->residue_granularity = device->residue_granularity; | 488 | caps->residue_granularity = device->residue_granularity; |
489 | 489 | ||
490 | caps->cmd_pause = !!device->device_pause; | 490 | /* |
491 | * Some devices implement only pause (e.g. to get residuum) but no | ||
492 | * resume. However cmd_pause is advertised as pause AND resume. | ||
493 | */ | ||
494 | caps->cmd_pause = !!(device->device_pause && device->device_resume); | ||
491 | caps->cmd_terminate = !!device->device_terminate_all; | 495 | caps->cmd_terminate = !!device->device_terminate_all; |
492 | 496 | ||
493 | return 0; | 497 | return 0; |