mtd: nand: pxa3xx: Use waitfunc() to wait for the device to be ready
authorEzequiel Garcia <ezequiel.garcia@free-electrons.com>
Thu, 14 Nov 2013 21:25:27 +0000 (18:25 -0300)
committerBrian Norris <computersforpeace@gmail.com>
Fri, 3 Jan 2014 19:22:11 +0000 (11:22 -0800)
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>
drivers/mtd/nand/pxa3xx_nand.c

index b3c5c69269bcdbc56545f845583c65b048cedfa1..a30116bfff4d393216878fdfc18496258b2999b0 100644 (file)
@@ -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)