From: Meng Li <Meng.Li@xxxxxxxxxxxxx> When initialize cadence qspi controller, it is need to set cqspi to the driver_data field of struct device, because it will be used in function cqspi_remove/suspend/resume(). Otherwise, there will be a crash trace as below when invoking these finctions. Call trace: cqspi_suspend+0x14/0x44 dpm_run_callback+0x50/0x1c0 __device_suspend+0x114/0x514 ...... el0_svc+0x20/0x30 el0_sync_handler+0x1a4/0x1b0 el0_sync+0x174/0x180 Fixes: 31fb632b5d43("spi: Move cadence-quadspi driver to drivers/spi/") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Meng Li <Meng.Li@xxxxxxxxxxxxx> --- drivers/spi/spi-cadence-quadspi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c index ba7d40c2922f..d8b0e1f1cb3a 100644 --- a/drivers/spi/spi-cadence-quadspi.c +++ b/drivers/spi/spi-cadence-quadspi.c @@ -1198,6 +1198,7 @@ static int cqspi_probe(struct platform_device *pdev) cqspi = spi_master_get_devdata(master); cqspi->pdev = pdev; + platform_set_drvdata(pdev, cqspi); /* Obtain configuration from OF. */ ret = cqspi_of_get_pdata(cqspi); -- 2.17.1