Unverified Commit 26cd10a0 authored by Jaewon Kim's avatar Jaewon Kim Committed by Mark Brown
Browse files

spi: s3c64xx: Disable IRQ mode when using DMA



Fixing the problem of enabling DMA mode and IRQ mode at the same time.
In this case, a value of more than 6bits is written to RDY_LVL, it can
cause an invasion of other registers, potentially leading to SPI
transfer failure.

Fixes: 1ee80671 ("spi: s3c64xx: support interrupt based pio mode")
Signed-off-by: default avatarJaewon Kim <jaewon02.kim@samsung.com>
Reported-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230510113942.89994-1-jaewon02.kim@samsung.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 057e1ae7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -782,7 +782,7 @@ static int s3c64xx_spi_transfer_one(struct spi_master *master,

	do {
		/* transfer size is greater than 32, change to IRQ mode */
		if (xfer->len > S3C64XX_SPI_POLLING_SIZE)
		if (!use_dma && xfer->len > S3C64XX_SPI_POLLING_SIZE)
			use_irq = true;

		if (use_irq) {