diff mbox series

spi: omap2-mcspi: fix memory leak on slave transfer abort

Message ID 20230711090546.654136-2-kernel-org-500524@vandamme.email (mailing list archive)
State New, archived
Headers show
Series spi: omap2-mcspi: fix memory leak on slave transfer abort | expand

Commit Message

Ruben Vandamme July 11, 2023, 9:04 a.m. UTC
In case a slave mode transfer is aborted, the scatterlists need
to be freed before exiting the function.

Signed-off-by: Ruben Vandamme <kernel-org-500524@vandamme.email>
---
 drivers/spi/spi-omap2-mcspi.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
index 8331e247bf5c..48800afc35b0 100644
--- a/drivers/spi/spi-omap2-mcspi.c
+++ b/drivers/spi/spi-omap2-mcspi.c
@@ -514,15 +514,16 @@  omap2_mcspi_rx_dma(struct spi_device *spi, struct spi_transfer *xfer,
 	omap2_mcspi_set_dma_req(spi, 1, 1);
 
 	ret = mcspi_wait_for_completion(mcspi, &mcspi_dma->dma_rx_completion);
+
+	for (x = 0; x < nb_sizes; x++)
+		kfree(sg_out[x]);
+
 	if (ret || mcspi->slave_aborted) {
 		dmaengine_terminate_sync(mcspi_dma->dma_rx);
 		omap2_mcspi_set_dma_req(spi, 1, 0);
 		return 0;
 	}
 
-	for (x = 0; x < nb_sizes; x++)
-		kfree(sg_out[x]);
-
 	if (mcspi->fifo_depth > 0)
 		return count;