]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
sf: Fix remain_len calculation in read ops
authorJagannadha Sutradharudu Teki <jagannadha.sutradharudu-teki@xilinx.com>
Mon, 30 Sep 2013 20:16:47 +0000 (01:46 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 2 Oct 2013 05:54:20 +0000 (07:54 +0200)
remain_len must be subtracted with offset instead
of read_addr, by subtracting read_addr in remain_len
may leads incorrect behavior for dual parallel qspi's.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Acked-by: Punnaiah Choudary Kalluri <punnaia@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/mtd/spi/spi_flash.c

index 314391ba946d58b7dd5d2c9493c9bb164b8fe50c..03f3cdb88a16cebb4e42b537df0649c7a4f64b07 100644 (file)
@@ -357,7 +357,7 @@ int spi_flash_cmd_read_fast(struct spi_flash *flash, u32 offset,
                if ((is_dual == MODE_DUAL_STACKED) && (flash->spi->u_page == 1))
                        bank_sel += ((flash->size / 2) / bank_boun);
 #endif
-               remain_len = (bank_boun * (bank_sel + 1) - read_addr);
+               remain_len = (bank_boun * (bank_sel + 1)) - offset;
                if (len < remain_len)
                        read_len = len;
                else