Commit 32ce3bb
spi: cadence-qspi: fix pointer reference in runtime PM hooks
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: 2087e85 ("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>1 parent 269e31a commit 32ce3bb
1 file changed
Lines changed: 2 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1930 | 1930 | | |
1931 | 1931 | | |
1932 | 1932 | | |
1933 | | - | |
1934 | 1933 | | |
1935 | 1934 | | |
1936 | | - | |
| 1935 | + | |
1937 | 1936 | | |
1938 | 1937 | | |
1939 | 1938 | | |
| |||
1944 | 1943 | | |
1945 | 1944 | | |
1946 | 1945 | | |
1947 | | - | |
1948 | 1946 | | |
1949 | 1947 | | |
1950 | 1948 | | |
| |||
1953 | 1951 | | |
1954 | 1952 | | |
1955 | 1953 | | |
1956 | | - | |
| 1954 | + | |
1957 | 1955 | | |
1958 | 1956 | | |
1959 | 1957 | | |
| |||
0 commit comments