spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts
authorRan Wang <ran.wang_1@nxp.com>
Mon, 23 Nov 2020 02:57:15 +0000 (10:57 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 23 Nov 2020 14:10:02 +0000 (14:10 +0000)
commit71d80563b0760a411cd90a3680536f5d887fff6b
tree32ef74df2c4ef15c5681ccede3ed86f2853106e6
parent4fae3a58ab59d8a286864d61fe1846283a0316f2
spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts

Given the case that bootloader(such as UEFI)'s FSPI driver might not
handle all interrupts before loading kernel, those legacy interrupts
would assert immidiately once kernel's FSPI driver enable them. Further,
if it was FSPI_INTR_IPCMDDONE, the irq handler nxp_fspi_irq_handler()
would call complete(&f->c) to notify others. However, f->c might not be
initialized yet at that time, then cause kernel panic.

Of cause, we should fix this issue within bootloader. But it would be
better to have this pacth to make dirver more robust (by clearing all
interrupt status bits before enabling interrupts).

Suggested-by: Han Xu <han.xu@nxp.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Link: https://lore.kernel.org/r/20201123025715.14635-1-ran.wang_1@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-nxp-fspi.c