The driver does not clearly unregister the spi controller.
Therefore calling an unbind and bind again will end up in a
Kernel crash.

The function devm_spi_register_controller will automatically
be unregister the SPI device.

Signed-off-by: Volker Haspel <volker.has...@linutronix.de>
Signed-off-by: John Ogness <john.ogn...@linutronix.de>
---
 drivers/spi/spi-fsl-qspi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/spi/spi-fsl-qspi.c b/drivers/spi/spi-fsl-qspi.c
index 6a713f78a62e..41a49b93ca60 100644
--- a/drivers/spi/spi-fsl-qspi.c
+++ b/drivers/spi/spi-fsl-qspi.c
@@ -882,7 +882,7 @@ static int fsl_qspi_probe(struct platform_device *pdev)
 
        ctlr->dev.of_node = np;
 
-       ret = spi_register_controller(ctlr);
+       ret = devm_spi_register_controller(dev, ctlr);
        if (ret)
                goto err_destroy_mutex;
 
-- 
2.11.0

Reply via email to