Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mmc: bcm2835: Fix dma_unmap_sg() nents value

The dma_unmap_sg() functions should be called with the same nents as the
dma_map_sg(), not the value the map function returned.

Fixes: 2f5da678351f ("mmc: bcm2835: Properly handle dmaengine_prep_slave_sg")
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250630093510.82871-2-fourier.thomas@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

authored by

Thomas Fourier and committed by
Ulf Hansson
ff09b71b 6d0b1c01

+2 -1
+2 -1
drivers/mmc/host/bcm2835.c
··· 503 503 DMA_PREP_INTERRUPT | DMA_CTRL_ACK); 504 504 505 505 if (!desc) { 506 - dma_unmap_sg(dma_chan->device->dev, data->sg, sg_len, dir_data); 506 + dma_unmap_sg(dma_chan->device->dev, data->sg, data->sg_len, 507 + dir_data); 507 508 return; 508 509 } 509 510