
From: Tim Kientzle kientzle@freebsd.org
The patch below fixes device enumeration through the U-Boot API.
Device enumeration crashes when the system in question doesn't have any RAM mapped to address zero (I discovered this on a BeagleBone board), since the enumeration calls get_dev with a NULL ifname sometimes which then gets passed down to strncmp().
This fix simply ensures that get_dev returns NULL when invoked with a NULL ifname.
Signed-off-by: Tim Kientzle kientzle@freebsd.org Signed-off-by: Anatolij Gustschin agust@denx.de --- v2: - resend with fixed whitespace errors and properly added commit log.
I've queued this patch in my staging branch. Thanks!
Anatolij
disk/part.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/disk/part.c b/disk/part.c index f07a17f..8ca5d4b 100644 --- a/disk/part.c +++ b/disk/part.c @@ -80,6 +80,9 @@ block_dev_desc_t *get_dev(char* ifname, int dev) block_dev_desc_t* (*reloc_get_dev)(int dev); char *name;
+ if (!ifname) + return NULL; + name = drvr->name; #ifdef CONFIG_NEEDS_MANUAL_RELOC name += gd->reloc_off;