diff options
author | Ezequiel Garcia <ezequiel.garcia@free-electrons.com> | 2013-11-14 18:25:27 -0300 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2014-01-03 11:22:11 -0800 |
commit | 56704d857ac9a1044ec58cfe0ff95dc6bdbd9d58 (patch) | |
tree | 8b2b52354f65f56a14191a83f25cb018eb9ef138 /drivers/mtd/nand/pxa3xx_nand.c | |
parent | 55d9fd6e94caf5f30d027f49bd0a4955bc6b3a8c (diff) | |
download | op-kernel-dev-56704d857ac9a1044ec58cfe0ff95dc6bdbd9d58.zip op-kernel-dev-56704d857ac9a1044ec58cfe0ff95dc6bdbd9d58.tar.gz |
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.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c index b3c5c69..a30116b 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) |