mtd: devices: m25p80: Use spi_mem_set_drvdata() instead of spi_set_drvdata()

SPI mem drivers should use spi_mem_set_drvdata() not spi_set_drvdata()
to store their private data. Using spi_set_drvdata() will mess the
spi -> spi-mem link up and cause a kernel panic at shutdown or
device removal time.

Fixes: 4120f8d158 ("mtd: spi-nor: Use the spi_mem_xx() API")
Reported-by: Marek Vasut <[email protected]>
Signed-off-by: Boris Brezillon <[email protected]>
Tested-by: Geert Uytterhoeven <[email protected]>
Tested-by: Marek Vasut <[email protected]> on R8A7791 Porter
Signed-off-by: Mark Brown <[email protected]>
This commit is contained in:
Boris Brezillon 2018-05-22 12:55:14 +02:00 • committed by Mark Brown
commit 1e07392e7b
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0

View file

@ -182,7 +182,7 @@ static int m25p_probe(struct spi_mem *spimem)
spi_nor_set_flash_node(nor, spi->dev.of_node);
nor->priv = flash;
spi_set_drvdata(spi, flash);
spi_mem_set_drvdata(spimem, flash);
flash->spimem = spimem;
if (spi->mode & SPI_RX_QUAD) {