spi: cadence-qspi: fix pointer reference in runtime PM hooks
commit 32ce3bb5 upstream. dev_get_drvdata() gets used to acquire the pointer to cqspi and the SPI controller. Neither embed the other; this lead to memory corruption. On a given platform (Mobileye EyeQ5) the memory corruption is hidden inside cqspi->f_pdata. Also, this uninitialised memory is used as a mutex (ctlr->bus_lock_mutex) by spi_controller_suspend(). Fixes: 2087e85b ("spi: cadence-quadspi: fix suspend-resume implementations") Reviewed-by:Dhruva Gole <d-gole@ti.com> Signed-off-by:
Théo Lebrun <theo.lebrun@bootlin.com> Link: https://msgid.link/r/20240222-cdns-qspi-pm-fix-v4-1-6b6af8bcbf59@bootlin.com Signed-off-by:
Mark Brown <broonie@kernel.org> Signed-off-by:
Zhaoyang Li <lizy04@hust.edu.cn> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Loading