From: Greg Kroah-Hartman Date: Thu, 23 Jul 2020 18:24:23 +0000 (+0200) Subject: 4.14-stable patches X-Git-Tag: v4.14.190~44 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=67f54831a99955796dff76e2dfdf4d71d4334e0f;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: spi-spi-fsl-dspi-exit-the-isr-with-irq_none-when-it-s-not-ours.patch --- diff --git a/queue-4.14/series b/queue-4.14/series index 408015a8aab..65610f4f52c 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -10,3 +10,4 @@ net-sky2-initialize-return-of-gm_phy_read.patch drm-nouveau-i2c-g94-increase-nv_pmgr_dp_auxctl_trans.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.14/spi-spi-fsl-dspi-exit-the-isr-with-irq_none-when-it-s-not-ours.patch b/queue-4.14/spi-spi-fsl-dspi-exit-the-isr-with-irq_none-when-it-s-not-ours.patch new file mode 100644 index 00000000000..a83b22f41e1 --- /dev/null +++ b/queue-4.14/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 +@@ -886,9 +886,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[] = {