OSDN Git Service

spi: spi-fsl-dspi: Exit the ISR with IRQ_NONE when it's not ours
authorVladimir Oltean <olteanv@gmail.com>
Thu, 22 Aug 2019 21:15:11 +0000 (00:15 +0300)
committerMark Brown <broonie@kernel.org>
Fri, 23 Aug 2019 11:01:14 +0000 (12:01 +0100)
commit37b4100180641968056cb4e034cebc38338e8652
tree504259a54e91e94c8bb05b909b72782dfd5f87ac
parent12fb61a973935c63f2580b3b053017cc14b51f42
spi: spi-fsl-dspi: Exit the ISR with IRQ_NONE when it's not ours

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 <olteanv@gmail.com>
Link: https://lore.kernel.org/r/20190822211514.19288-3-olteanv@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-fsl-dspi.c