summaryrefslogtreecommitdiff
path: root/target/linux/mvebu/patches-3.10/0162-mtd-nand-pxa3xx-Clear-need_wait-flag-when-starting-a.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mvebu/patches-3.10/0162-mtd-nand-pxa3xx-Clear-need_wait-flag-when-starting-a.patch')
-rw-r--r--target/linux/mvebu/patches-3.10/0162-mtd-nand-pxa3xx-Clear-need_wait-flag-when-starting-a.patch50
1 files changed, 0 insertions, 50 deletions
diff --git a/target/linux/mvebu/patches-3.10/0162-mtd-nand-pxa3xx-Clear-need_wait-flag-when-starting-a.patch b/target/linux/mvebu/patches-3.10/0162-mtd-nand-pxa3xx-Clear-need_wait-flag-when-starting-a.patch
deleted file mode 100644
index 5665ca1..0000000
--- a/target/linux/mvebu/patches-3.10/0162-mtd-nand-pxa3xx-Clear-need_wait-flag-when-starting-a.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 7efaa8677ffd07d54d0122b5e92f29b74a36ad39 Mon Sep 17 00:00:00 2001
-From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
-Date: Thu, 19 Dec 2013 06:08:03 -0300
-Subject: [PATCH 162/203] mtd: nand: pxa3xx: Clear need_wait flag when starting
- a command
-
-Currently the driver assumes all commands will eventually trigger a RnB
-transition, and thus a "device is ready" IRQ.
-
-This assumption means that on every issued command, the dev_ready completion
-handler is init'ed and the need_wait flag is set.
-
-However this is incorrect: some commands (such as NAND_CMD_STATUS) don't
-make the device 'busy' and thus a RnB transition never occurs.
-Given, the NAND core never calls waitfunc() after such commands, this
-is not a problem.
-
-Therefore, it's possible to only clear the need_wait flag on every command
-that is started.
-
-This fixes a current bug that can be reproduced on PXA boards by writing
-blank (all 0xff'ed) to a page:
-
- 1. The kernel issues NAND_CMD_STATUS and sets need_wait=1. The flag
- won't be cleared for this command since no RnB transition is
- involved.
-
- 2. NAND_CMD_PAGEPROG is issued but since the data is blank, the driver
- decides not to execute the command (and no IRQ activity is
- involved).
-
- 3. The NAND core calls waitfunc() and waits for the dev_ready
- completion, which will never end since the device _is_ already ready.
-
-Tested-by: Arnaud Ebalard <arno@natisbad.org>
-Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
----
- drivers/mtd/nand/pxa3xx_nand.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/drivers/mtd/nand/pxa3xx_nand.c
-+++ b/drivers/mtd/nand/pxa3xx_nand.c
-@@ -694,6 +694,7 @@ static void prepare_start_command(struct
- info->retcode = ERR_NONE;
- info->ecc_err_cnt = 0;
- info->ndcb3 = 0;
-+ info->need_wait = 0;
-
- switch (command) {
- case NAND_CMD_READ0: