1 From 26f9bcad29a6c240881bd4efc90f16a9990dd6c2 Mon Sep 17 00:00:00 2001
2 From: Michal Suchanek <hramrach@gmail.com>
3 Date: Thu, 5 May 2016 17:31:55 -0700
4 Subject: [PATCH 09/10] mtd: spi-nor: add read loop
6 mtdblock and ubi do not handle the situation when read returns less data
7 than requested. Loop in spi-nor until buffer is filled or an error is
10 Signed-off-by: Michal Suchanek <hramrach@gmail.com>
11 Signed-off-by: Brian Norris <computersforpeace@gmail.com>
12 Tested-by Cyrille Pitchen <cyrille.pitchen@atmel.com>
13 Acked-by: Michal Suchanek <hramrach@gmail.com>
14 Tested-by: Michal Suchanek <hramrach@gmail.com>
16 drivers/mtd/spi-nor/spi-nor.c | 25 +++++++++++++++++++------
17 1 file changed, 19 insertions(+), 6 deletions(-)
19 --- a/drivers/mtd/spi-nor/spi-nor.c
20 +++ b/drivers/mtd/spi-nor/spi-nor.c
21 @@ -890,14 +890,27 @@ static int spi_nor_read(struct mtd_info
25 - ret = nor->read(nor, from, len, buf);
27 + ret = nor->read(nor, from, len, buf);
29 + /* We shouldn't see 0-length reads */
36 - spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_READ);
50 + spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_READ);
54 static int sst_write(struct mtd_info *mtd, loff_t to, size_t len,