]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
spi: spi_flash: Restrict max read length to 16MiB
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Wed, 2 Mar 2016 05:34:33 +0000 (11:04 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 2 Mar 2016 08:18:22 +0000 (09:18 +0100)
Restrict max read length to 16MiB for a single
read command. The max read length would be 32MiB
incase of dual parallel.
This is workaround for read failures if read length
is greater than 16MiB in single and 32MiB in dual
parallel connection.

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/mtd/spi/spi_flash.c

index 975ec6e9fa50479bd6f069232df52f9fdeeabedc..92fec9aa44fc5b146a38abc9311527b0a5552b47 100644 (file)
@@ -626,7 +626,10 @@ int spi_flash_cmd_read_ops(struct spi_flash *flash, u32 offset,
                        else
                                read_len = remain_len;
                } else {
-                       read_len = len;
+                       if (len > (SPI_FLASH_16MB_BOUN << flash->shift))
+                               read_len = SPI_FLASH_16MB_BOUN << flash->shift;
+                       else
+                               read_len = len;
                }
 
                if (flash->spi->bytemode == SPI_4BYTE_MODE)