summaryrefslogtreecommitdiffstats
path: root/drivers/dma/idxd
diff options
context:
space:
mode:
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>2021-11-09 22:09:56 +0100
committerVinod Koul <vkoul@kernel.org>2021-11-22 07:44:12 +0100
commit1ffc6f359f7ab114ad0d2bbe6a85cbd848709ab2 (patch)
tree59c137514da789cf7f5d00a28d2baca5b80a35d2 /drivers/dma/idxd
parentdmaengine: dw-axi-dmac: Fix uninitialized variable in axi_chan_block_xfer_sta... (diff)
downloadlinux-1ffc6f359f7ab114ad0d2bbe6a85cbd848709ab2.tar.xz
linux-1ffc6f359f7ab114ad0d2bbe6a85cbd848709ab2.zip
dmaengine: dw-edma: Fix return value check for dma_set_mask_and_coherent()
The commit in the Fixes: tag has changed the logic of the code and now it is likely that the probe will return an early success (0), even if not completely executed. This should lead to a crash or similar issue later on when the code accesses to some never allocated resources. Change the '!err' into a 'err' when checking if 'dma_set_mask_and_coherent()' has failed or not. While at it, simplify the code and remove the "can't success code" related to 32 DMA mask. As stated in [1], 'dma_set_mask_and_coherent(DMA_BIT_MASK(64))' can't fail if 'dev->dma_mask' is non-NULL. And if it is NULL, it would fail for the same reason when tried with DMA_BIT_MASK(32). [1]: https://lkml.org/lkml/2021/6/7/398 Fixes: ecb8c88bd31c ("dmaengine: dw-edma-pcie: switch from 'pci_' to 'dma_' API") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Link: https://lore.kernel.org/r/935fbb40ae930c5fe87482a41dcb73abf2257973.1636492127.git.christophe.jaillet@wanadoo.fr Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/idxd')
0 files changed, 0 insertions, 0 deletions