nand: Fix set_dev checks for no device
authorTony Lindgren <tony@atomide.com>
Wed, 24 Aug 2016 16:46:32 +0000 (09:46 -0700)
committerTom Rini <trini@konsulko.com>
Fri, 26 Aug 2016 21:04:58 +0000 (17:04 -0400)
If we do nand device 0 command in u-boot on a device that has NAND support
enabled but no NAND chip, we can get data abort at least on omaps.

Fix the issue by replacing the check with nand_info[dev] as
suggested by Scott Wood. The check for name existed before because before
the array-to-pointer conversion there was no way to directly test
nand_info[dev] for emptiness.

Signed-off-by: Tony Lindgren <tony@atomide.com>
cmd/nand.c

index e10349a..97f1619 100644 (file)
@@ -115,8 +115,7 @@ free_dat:
 
 static int set_dev(int dev)
 {
-       if (dev < 0 || dev >= CONFIG_SYS_MAX_NAND_DEVICE ||
-           !nand_info[dev]->name) {
+       if (dev < 0 || dev >= CONFIG_SYS_MAX_NAND_DEVICE || !nand_info[dev]) {
                puts("No such device\n");
                return -1;
        }