Skip to content

Commit df2515a

Browse files
tstrukvinodkoul
authored andcommitted
dmaengine: ptdma: use consistent DMA masks
The PTDMA driver sets DMA masks in two different places for the same device inconsistently. First call is in pt_pci_probe(), where it uses 48bit mask. The second call is in pt_dmaengine_register(), where it uses a 64bit mask. Using 64bit dma mask causes IO_PAGE_FAULT errors on DMA transfers between main memory and other devices. Without the extra call it works fine. Additionally the second call doesn't check the return value so it can silently fail. Remove the superfluous dma_set_mask() call and only use 48bit mask. Cc: stable@vger.kernel.org Fixes: b0b4a6b ("dmaengine: ptdma: register PTDMA controller as a DMA resource") Reviewed-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com> Signed-off-by: Tadeusz Struk <tstruk@gigaio.com> Link: https://lore.kernel.org/r/20240222163053.13842-1-tstruk@gigaio.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
1 parent 1878840 commit df2515a

File tree

1 file changed

+0
-2
lines changed

1 file changed

+0
-2
lines changed

drivers/dma/ptdma/ptdma-dmaengine.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -385,8 +385,6 @@ int pt_dmaengine_register(struct pt_device *pt)
385385
chan->vc.desc_free = pt_do_cleanup;
386386
vchan_init(&chan->vc, dma_dev);
387387

388-
dma_set_mask_and_coherent(pt->dev, DMA_BIT_MASK(64));
389-
390388
ret = dma_async_device_register(dma_dev);
391389
if (ret)
392390
goto err_reg;

0 commit comments

Comments
 (0)