From: Greg Kroah-Hartman Date: Tue, 7 Jul 2020 13:21:57 +0000 (+0200) Subject: drop queue-5.7/spi-spi-fsl-dspi-fix-lockup-if-device-is-removed-during-spi-transfer... X-Git-Tag: v4.4.230~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=78fd1667a1561d4e1eeae75bbbe748cc68b36940;p=thirdparty%2Fkernel%2Fstable-queue.git drop queue-5.7/spi-spi-fsl-dspi-fix-lockup-if-device-is-removed-during-spi-transfer.patch --- diff --git a/queue-5.7/series b/queue-5.7/series index 5c9ca2cdf93..28e5055ae49 100644 --- a/queue-5.7/series +++ b/queue-5.7/series @@ -82,7 +82,6 @@ i2c-algo-pca-add-0x78-as-scl-stuck-low-status-for-pc.patch i2c-designware-platdrv-set-class-based-on-dmi.patch i2c-mlxcpld-check-correct-size-of-maximum-recv_len-p.patch io_uring-fix-regression-with-always-ignoring-signals.patch -spi-spi-fsl-dspi-fix-lockup-if-device-is-removed-during-spi-transfer.patch spi-spi-fsl-dspi-fix-external-abort-on-interrupt-in-resume-or-exit-paths.patch nfsd-apply-umask-on-fs-without-acl-support.patch revert-alsa-usb-audio-improve-frames-size-computation.patch diff --git a/queue-5.7/spi-spi-fsl-dspi-fix-external-abort-on-interrupt-in-resume-or-exit-paths.patch b/queue-5.7/spi-spi-fsl-dspi-fix-external-abort-on-interrupt-in-resume-or-exit-paths.patch index 3fe5da66a05..52bde299240 100644 --- a/queue-5.7/spi-spi-fsl-dspi-fix-external-abort-on-interrupt-in-resume-or-exit-paths.patch +++ b/queue-5.7/spi-spi-fsl-dspi-fix-external-abort-on-interrupt-in-resume-or-exit-paths.patch @@ -111,12 +111,12 @@ Signed-off-by: Greg Kroah-Hartman out_clk_put: clk_disable_unprepare(dspi->clk); out_ctlr_put: -@@ -1441,6 +1448,8 @@ static int dspi_remove(struct platform_d - regmap_update_bits(dspi->regmap, SPI_MCR, SPI_MCR_HALT, SPI_MCR_HALT); +@@ -1431,6 +1438,8 @@ static int dspi_remove(struct platform_d + /* Disconnect from the SPI framework */ dspi_release_dma(dspi); + if (dspi->irq) + free_irq(dspi->irq, dspi); clk_disable_unprepare(dspi->clk); + spi_unregister_controller(dspi->ctlr); - return 0; diff --git a/queue-5.7/spi-spi-fsl-dspi-fix-lockup-if-device-is-removed-during-spi-transfer.patch b/queue-5.7/spi-spi-fsl-dspi-fix-lockup-if-device-is-removed-during-spi-transfer.patch deleted file mode 100644 index 3f28d40fd4a..00000000000 --- a/queue-5.7/spi-spi-fsl-dspi-fix-lockup-if-device-is-removed-during-spi-transfer.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 7684580d45bd3d84ed9b453a4cadf7a9a5605a3f Mon Sep 17 00:00:00 2001 -From: Krzysztof Kozlowski -Date: Mon, 22 Jun 2020 13:05:40 +0200 -Subject: spi: spi-fsl-dspi: Fix lockup if device is removed during SPI transfer - -From: Krzysztof Kozlowski - -commit 7684580d45bd3d84ed9b453a4cadf7a9a5605a3f upstream. - -During device removal, the driver should unregister the SPI controller -and stop the hardware. Otherwise the dspi_transfer_one_message() could -wait on completion infinitely. - -Additionally, calling spi_unregister_controller() first in device -removal reverse-matches the probe function, where SPI controller is -registered at the end. - -Fixes: 05209f457069 ("spi: fsl-dspi: add missing clk_disable_unprepare() in dspi_remove()") -Reported-by: Vladimir Oltean -Signed-off-by: Krzysztof Kozlowski -Cc: -Link: https://lore.kernel.org/r/20200622110543.5035-1-krzk@kernel.org -Signed-off-by: Mark Brown -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/spi/spi-fsl-dspi.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - ---- a/drivers/spi/spi-fsl-dspi.c -+++ b/drivers/spi/spi-fsl-dspi.c -@@ -1430,9 +1430,18 @@ static int dspi_remove(struct platform_d - struct fsl_dspi *dspi = spi_controller_get_devdata(ctlr); - - /* Disconnect from the SPI framework */ -+ spi_unregister_controller(dspi->ctlr); -+ -+ /* Disable RX and TX */ -+ regmap_update_bits(dspi->regmap, SPI_MCR, -+ SPI_MCR_DIS_TXF | SPI_MCR_DIS_RXF, -+ SPI_MCR_DIS_TXF | SPI_MCR_DIS_RXF); -+ -+ /* Stop Running */ -+ regmap_update_bits(dspi->regmap, SPI_MCR, SPI_MCR_HALT, SPI_MCR_HALT); -+ - dspi_release_dma(dspi); - clk_disable_unprepare(dspi->clk); -- spi_unregister_controller(dspi->ctlr); - - return 0; - }