[PATCH] drivers: spi: cadence: set cqspi to the driver_data field of struct device

From: Meng . Li
Date: Thu Mar 11 2021 - 04:13:18 EST


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