aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorBaruch Siach <baruch@tkos.co.il>2020-04-05 19:19:31 +0300
committerTom Rini <trini@konsulko.com>2020-04-24 15:17:14 -0400
commit593f3976bee1213ac8d3d124c59aefc8889edc8b (patch)
tree7213cd065f7b07979fb315a98a3c3e2827b9f8a1 /drivers
parent79926e4f2f3cf84c65188c59ea1e93d6b221d36b (diff)
downloadu-boot-593f3976bee1213ac8d3d124c59aefc8889edc8b.zip
u-boot-593f3976bee1213ac8d3d124c59aefc8889edc8b.tar.gz
u-boot-593f3976bee1213ac8d3d124c59aefc8889edc8b.tar.bz2
mtd: nand: pxa3xx: fix raw read when last_chunk_size == 0
Commit 6293b0361d9 ("mtd: nand: pxa3xx: add raw read support") added the local data_len variable in handle_data_pio() to track read size, but forgot to update the condition of drain_fifo() call. That happens to work when the layout last_chunk_size != 0. But when last_chunk_size == 0, drain_fifo() is not called to read the last chunk, which leads to "Wait timeout!!!" error. Fix this. Fixes: 6293b0361d9 ("mtd: nand: pxa3xx: add raw read support") Cc: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mtd/nand/raw/pxa3xx_nand.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/nand/raw/pxa3xx_nand.c b/drivers/mtd/nand/raw/pxa3xx_nand.c
index 03f210b..7e3346d 100644
--- a/drivers/mtd/nand/raw/pxa3xx_nand.c
+++ b/drivers/mtd/nand/raw/pxa3xx_nand.c
@@ -639,7 +639,7 @@ static void handle_data_pio(struct pxa3xx_nand_info *info)
DIV_ROUND_UP(info->step_spare_size, 4));
break;
case STATE_PIO_READING:
- if (info->step_chunk_size)
+ if (data_len)
drain_fifo(info,
info->data_buff + info->data_buff_pos,
DIV_ROUND_UP(data_len, 4));