dmaengine: ptdma: use consistent DMA masks
authorTadeusz Struk <tstruk@gigaio.com>
Thu, 22 Feb 2024 16:30:53 +0000 (17:30 +0100)
committerVinod Koul <vkoul@kernel.org>
Fri, 23 Feb 2024 06:52:55 +0000 (12:22 +0530)
commitdf2515a17914ecfc2a0594509deaf7fcb8d191ac
tree76058f04d71f18c5d8faefd55d11a6791967c136
parent1878840a0328dac1c85d29fee31456ec26fcc01c
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: b0b4a6b10577 ("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>
drivers/dma/ptdma/ptdma-dmaengine.c