dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV
authorFrank Li <Frank.Li@nxp.com>
Tue, 23 Jan 2024 17:28:41 +0000 (12:28 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Feb 2024 18:10:42 +0000 (19:10 +0100)
[ Upstream commit a22fe1d6dec7e98535b97249fdc95c2be79120bb ]

is_slave_direction() should return true when direction is DMA_DEV_TO_DEV.

Fixes: 49920bc66984 ("dmaengine: add new enum dma_transfer_direction")
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20240123172842.3764529-1-Frank.Li@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/dmaengine.h

index c3656e5..cff3dba 100644 (file)
@@ -955,7 +955,8 @@ static inline int dmaengine_slave_config(struct dma_chan *chan,
 
 static inline bool is_slave_direction(enum dma_transfer_direction direction)
 {
-       return (direction == DMA_MEM_TO_DEV) || (direction == DMA_DEV_TO_MEM);
+       return (direction == DMA_MEM_TO_DEV) || (direction == DMA_DEV_TO_MEM) ||
+              (direction == DMA_DEV_TO_DEV);
 }
 
 static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single(