Skip to content

Commit e811b08

Browse files
Larisa Grigorebroonie
authored andcommitted
spi: spi-fsl-lpspi: Reset FIFO and disable module on transfer abort
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>
1 parent cbe3370 commit e811b08

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
@@ -733,12 +733,10 @@ static int fsl_lpspi_pio_transfer(struct spi_controller *controller,
733733
fsl_lpspi_write_tx_fifo(fsl_lpspi);
734734

735735
ret = fsl_lpspi_wait_for_completion(controller);
736-
if (ret)
737-
return ret;
738736

739737
fsl_lpspi_reset(fsl_lpspi);
740738

741-
return 0;
739+
return ret;
742740
}
743741

744742
static int fsl_lpspi_transfer_one(struct spi_controller *controller,

0 commit comments

Comments
 (0)