Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: spi-nxp-fspi: move the register operation after the clock enable

Move the register operation after the clock enable, otherwise system
will stuck when this driver probe.

Fixes: 71d80563b076 ("spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts")
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Link: https://lore.kernel.org/r/1623317073-25158-1-git-send-email-haibo.chen@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Haibo Chen and committed by
Mark Brown
f422316c aceda401

+5 -6
+5 -6
drivers/spi/spi-nxp-fspi.c
··· 1124 1124 goto err_put_ctrl; 1125 1125 } 1126 1126 1127 - /* Clear potential interrupts */ 1128 - reg = fspi_readl(f, f->iobase + FSPI_INTR); 1129 - if (reg) 1130 - fspi_writel(f, reg, f->iobase + FSPI_INTR); 1131 - 1132 - 1133 1127 /* find the resources - controller memory mapped space */ 1134 1128 if (is_acpi_node(f->dev->fwnode)) 1135 1129 res = platform_get_resource(pdev, IORESOURCE_MEM, 1); ··· 1160 1166 goto err_put_ctrl; 1161 1167 } 1162 1168 } 1169 + 1170 + /* Clear potential interrupts */ 1171 + reg = fspi_readl(f, f->iobase + FSPI_INTR); 1172 + if (reg) 1173 + fspi_writel(f, reg, f->iobase + FSPI_INTR); 1163 1174 1164 1175 /* find the irq */ 1165 1176 ret = platform_get_irq(pdev, 0);