Skip to content

Commit 72c8557

Browse files
Larisa Grigoregregkh
authored andcommitted
spi: spi-fsl-lpspi: Reset FIFO and disable module on transfer abort
[ Upstream commit e811b08 ] In DMA mode fsl_lpspi_reset() is always called at the end, even when the transfer is aborted. In PIO mode aborts skip the reset leaving the FIFO filled and the module enabled. Fix it by always calling fsl_lpspi_reset(). Fixes: a15dc3d ("spi: lpspi: Fix CLK pin becomes low before one transfer") Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Signed-off-by: James Clark <james.clark@linaro.org> Link: https://patch.msgid.link/20250828-james-nxp-lpspi-v2-3-6262b9aa9be4@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent dc5fdb3 commit 72c8557

1 file changed

Lines changed: 1 addition & 3 deletions

File tree

drivers/spi/spi-fsl-lpspi.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -722,12 +722,10 @@ static int fsl_lpspi_pio_transfer(struct spi_controller *controller,
722722
fsl_lpspi_write_tx_fifo(fsl_lpspi);
723723

724724
ret = fsl_lpspi_wait_for_completion(controller);
725-
if (ret)
726-
return ret;
727725

728726
fsl_lpspi_reset(fsl_lpspi);
729727

730-
return 0;
728+
return ret;
731729
}
732730

733731
static int fsl_lpspi_transfer_one(struct spi_controller *controller,

0 commit comments

Comments
 (0)