[U-Boot] [PATCHv3] nand: Fix set_dev checks for no device

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
diff --git a/cmd/nand.c b/cmd/nand.c --- a/cmd/nand.c +++ b/cmd/nand.c @@ -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; }

On Wed, Aug 24, 2016 at 09:46:32AM -0700, Tony Lindgren wrote:
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
diff --git a/cmd/nand.c b/cmd/nand.c
Applied to u-boot/master, thanks!
participants (2)
-
Tom Rini
-
Tony Lindgren