summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/pxa3xx_nand.c
diff options
context:
space:
mode:
authorEzequiel Garcia2013-11-14 22:25:27 +0100
committerBrian Norris2014-01-03 20:22:11 +0100
commit56704d857ac9a1044ec58cfe0ff95dc6bdbd9d58 (patch)
tree8b2b52354f65f56a14191a83f25cb018eb9ef138 /drivers/mtd/nand/pxa3xx_nand.c
parentmtd: nand: pxa3xx: Use a completion to signal device ready (diff)
downloadkernel-qcow2-linux-56704d857ac9a1044ec58cfe0ff95dc6bdbd9d58.tar.gz
kernel-qcow2-linux-56704d857ac9a1044ec58cfe0ff95dc6bdbd9d58.tar.xz
kernel-qcow2-linux-56704d857ac9a1044ec58cfe0ff95dc6bdbd9d58.zip
mtd: nand: pxa3xx: Use waitfunc() to wait for the device to be ready
In pxa3xx_nand_sensing() instead of simply using info->is_ready after issuing a command, the correct way of checking is to wait for the device to be ready through the chip's waitfunc(). Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Tested-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'drivers/mtd/nand/pxa3xx_nand.c')
-rw-r--r--drivers/mtd/nand/pxa3xx_nand.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index b3c5c69269bc..a30116bfff4d 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -1036,10 +1036,11 @@ static int pxa3xx_nand_sensing(struct pxa3xx_nand_info *info)
return ret;
chip->cmdfunc(mtd, NAND_CMD_RESET, 0, 0);
- if (!info->need_wait)
- return 0;
+ ret = chip->waitfunc(mtd, chip);
+ if (ret & NAND_STATUS_FAIL)
+ return -ENODEV;
- return -ENODEV;
+ return 0;
}
static int pxa3xx_nand_scan(struct mtd_info *mtd)