Skip to content

Commit f9e08c2

Browse files
Jinjie Ruangregkh
authored andcommitted
spi: geni-qcom: Fix incorrect free_irq() sequence
[ Upstream commit b787a33 ] In spi_geni_remove(), the free_irq() sequence is different from that on the probe error path. And the IRQ will still remain and it's interrupt handler may use the dma channel after release dma channel and before free irq, which is not secure, fix it. Fixes: b59c122 ("spi: spi-geni-qcom: Add support for GPI dma") Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://patch.msgid.link/20240909073141.951494-3-ruanjinjie@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 64cdc5d commit f9e08c2

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/spi/spi-geni-qcom.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1170,9 +1170,9 @@ static void spi_geni_remove(struct platform_device *pdev)
11701170
/* Unregister _before_ disabling pm_runtime() so we stop transfers */
11711171
spi_unregister_master(spi);
11721172

1173-
spi_geni_release_dma_chan(mas);
1174-
11751173
free_irq(mas->irq, spi);
1174+
1175+
spi_geni_release_dma_chan(mas);
11761176
}
11771177

11781178
static int __maybe_unused spi_geni_runtime_suspend(struct device *dev)

0 commit comments

Comments
 (0)