Message ID | 20240909073141.951494-3-ruanjinjie@huawei.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | spi: geni-qcom: Undo runtime PM changes at driver exit time | expand |
On Mon, Sep 09, 2024 at 03:31:40PM GMT, Jinjie Ruan wrote: > 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: b59c122484ec ("spi: spi-geni-qcom: Add support for GPI dma") > Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> > --- > v3: > - Rebased on the devm_pm_runtime_enable() patch. > - Update the commit message. > --- > drivers/spi/spi-geni-qcom.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) This matches the code in spi_geni_probe(). Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index fef522fece1b..6f4057330444 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1170,9 +1170,9 @@ static void spi_geni_remove(struct platform_device *pdev) /* Unregister _before_ disabling pm_runtime() so we stop transfers */ spi_unregister_controller(spi); - spi_geni_release_dma_chan(mas); - free_irq(mas->irq, spi); + + spi_geni_release_dma_chan(mas); } static int __maybe_unused spi_geni_runtime_suspend(struct device *dev)
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: b59c122484ec ("spi: spi-geni-qcom: Add support for GPI dma") Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> --- v3: - Rebased on the devm_pm_runtime_enable() patch. - Update the commit message. --- drivers/spi/spi-geni-qcom.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)