From bd05fee8eb31196f6dc247f789d9ba86d8fe7dce Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 23 Jul 2020 20:24:39 +0200 Subject: [PATCH] 4.19-stable patches added patches: spi-spi-fsl-dspi-exit-the-isr-with-irq_none-when-it-s-not-ours.patch --- queue-4.19/series | 1 + ...isr-with-irq_none-when-it-s-not-ours.patch | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 queue-4.19/spi-spi-fsl-dspi-exit-the-isr-with-irq_none-when-it-s-not-ours.patch diff --git a/queue-4.19/series b/queue-4.19/series index 072f1b5659e..f39b1463522 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -13,3 +13,4 @@ drivers-firmware-psci-fix-memory-leakage-in-alloc_in.patch fuse-fix-weird-page-warning.patch irqdomain-treewide-keep-firmware-node-unconditionall.patch sunrpc-reverting-d03727b248d0-nfsv4-fix-close-not-waiting-for-direct-io-compeletion.patch +spi-spi-fsl-dspi-exit-the-isr-with-irq_none-when-it-s-not-ours.patch diff --git a/queue-4.19/spi-spi-fsl-dspi-exit-the-isr-with-irq_none-when-it-s-not-ours.patch b/queue-4.19/spi-spi-fsl-dspi-exit-the-isr-with-irq_none-when-it-s-not-ours.patch new file mode 100644 index 00000000000..c8128cf2a30 --- /dev/null +++ b/queue-4.19/spi-spi-fsl-dspi-exit-the-isr-with-irq_none-when-it-s-not-ours.patch @@ -0,0 +1,41 @@ +From d41f36a6464a85c06ad920703d878e4491d2c023 Mon Sep 17 00:00:00 2001 +From: Vladimir Oltean +Date: Fri, 23 Aug 2019 00:24:50 +0300 +Subject: spi: spi-fsl-dspi: Exit the ISR with IRQ_NONE when it's not ours + +From: Vladimir Oltean + +commit d41f36a6464a85c06ad920703d878e4491d2c023 upstream. + +The DSPI interrupt can be shared between two controllers at least on the +LX2160A. In that case, the driver for one controller might misbehave and +consume the other's interrupt. Fix this by actually checking if any of +the bits in the status register have been asserted. + +Fixes: 13aed2392741 ("spi: spi-fsl-dspi: use IRQF_SHARED mode to request IRQ") +Signed-off-by: Vladimir Oltean +Link: https://lore.kernel.org/r/20190822212450.21420-2-olteanv@gmail.com +Signed-off-by: Mark Brown +Cc: stable@vger.kernel.org +Cc: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/spi/spi-fsl-dspi.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/spi/spi-fsl-dspi.c ++++ b/drivers/spi/spi-fsl-dspi.c +@@ -878,9 +878,11 @@ static irqreturn_t dspi_interrupt(int ir + trans_mode); + } + } ++ ++ return IRQ_HANDLED; + } + +- return IRQ_HANDLED; ++ return IRQ_NONE; + } + + static const struct of_device_id fsl_dspi_dt_ids[] = { -- 2.47.3