diff mbox

[U-Boot] nand: Fix nand info for no device

Message ID 20160829161142.pxdykje7okehasge@atomide.com
State Accepted
Commit 4004a81828c72311f9c310c38d903b3f6638465d
Delegated to: Scott Wood
Headers show

Commit Message

Tony Lindgren Aug. 29, 2016, 4:11 p.m. UTC
Looks like we have few more places where we're testing for
nand_info[i]->name. We can now use just test for nand_info[i]
instead.

This fixes a data abort on devices with no NAND when doing
nand info.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 cmd/nand.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Tom Rini Aug. 29, 2016, 7:43 p.m. UTC | #1
On Mon, Aug 29, 2016 at 09:11:43AM -0700, Tony Lindgren wrote:

> Looks like we have few more places where we're testing for
> nand_info[i]->name. We can now use just test for nand_info[i]
> instead.
> 
> This fixes a data abort on devices with no NAND when doing
> nand info.
> 
> Signed-off-by: Tony Lindgren <tony@atomide.com>

Reviewed-by: Tom Rini <trini@konsulko.com>
Crystal Wood Aug. 29, 2016, 10:59 p.m. UTC | #2
On Mon, 2016-08-29 at 09:11 -0700, Tony Lindgren wrote:
> Looks like we have few more places where we're testing for
> nand_info[i]->name. We can now use just test for nand_info[i]
> instead.
> 
> This fixes a data abort on devices with no NAND when doing
> nand info.
> 
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
>  cmd/nand.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

I also see a few instances of this in drivers/dfu/dfu_nand.c and
drivers/mtd/nand/omap_gpmc.c.

-Scott
diff mbox

Patch

diff --git a/cmd/nand.c b/cmd/nand.c
--- a/cmd/nand.c
+++ b/cmd/nand.c
@@ -398,7 +398,7 @@  static int do_nand(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 
 		putc('\n');
 		for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++) {
-			if (nand_info[i]->name)
+			if (nand_info[i])
 				nand_print_and_set_info(i);
 		}
 		return 0;
@@ -433,7 +433,7 @@  static int do_nand(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	 * for another device is to be used.
 	 */
 	if (dev < 0 || dev >= CONFIG_SYS_MAX_NAND_DEVICE ||
-	    !nand_info[dev]->name) {
+	    !nand_info[dev]) {
 		puts("\nno devices available\n");
 		return 1;
 	}
@@ -991,7 +991,7 @@  usage:
 
 	idx = simple_strtoul(boot_device, NULL, 16);
 
-	if (idx < 0 || idx >= CONFIG_SYS_MAX_NAND_DEVICE || !nand_info[idx]->name) {
+	if (idx < 0 || idx >= CONFIG_SYS_MAX_NAND_DEVICE || !nand_info[idx]) {
 		printf("\n** Device %d not available\n", idx);
 		bootstage_error(BOOTSTAGE_ID_NAND_AVAILABLE);
 		return 1;