Files
android_kernel_xiaomi_sm8450/drivers/spi
Ricardo Ribalda 5a1314fa69 spi: xilinx: Detect stall with Unknown commands
When the core is configured in C_SPI_MODE > 0, it integrates a
lookup table that automatically configures the core in dual or quad mode
based on the command (first byte on the tx fifo).

Unfortunately, that list mode_?_memoy_*.mif does not contain all the
supported commands by the flash.

Since 4.14 spi-nor automatically tries to probe the flash using SFDP
(command 0x5a), and that command is not part of the list_mode table.

Whit the right combination of C_SPI_MODE and C_SPI_MEMORY this leads
into a stall that can only be recovered with a soft rest.

This patch detects this kind of stall and returns -EIO to the caller on
those commands. spi-nor can handle this error properly:

m25p80 spi0.0: Detected stall. Check C_SPI_MODE and C_SPI_MEMORY. 0x21 0x2404
m25p80 spi0.0: SPI transfer failed: -5
spi_master spi0: failed to transfer one message from queue
m25p80 spi0.0: s25sl064p (8192 Kbytes)

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
2017-11-24 13:09:22 +00:00
..
2017-07-17 12:09:38 +01:00
2016-07-07 11:44:43 +02:00
2015-12-07 20:09:09 +00:00
2017-05-24 18:19:25 +01:00
2017-09-27 10:02:57 -07:00
2017-08-23 17:12:05 +01:00
2017-01-23 18:09:37 +00:00
2017-08-10 15:50:23 +01:00
2017-05-26 12:41:07 +01:00