Commit 32812cab authored by Russell King's avatar Russell King

[ARM] etherh: report errors when trying to parse MAC address.

parent fb3e5c1b
...@@ -523,16 +523,30 @@ static int __init etherh_addr(char *addr, struct expansion_card *ec) ...@@ -523,16 +523,30 @@ static int __init etherh_addr(char *addr, struct expansion_card *ec)
struct in_chunk_dir cd; struct in_chunk_dir cd;
char *s; char *s;
if (ecard_readchunk(&cd, ec, 0xf5, 0) && (s = strchr(cd.d.string, '('))) { if (!ecard_readchunk(&cd, ec, 0xf5, 0)) {
printk(KERN_ERR "%s: unable to read podule description string\n",
ec->dev.bus_id);
goto no_addr;
}
s = strchr(cd.d.string, '(');
if (s) {
int i; int i;
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
addr[i] = simple_strtoul(s + 1, &s, 0x10); addr[i] = simple_strtoul(s + 1, &s, 0x10);
if (*s != (i == 5? ')' : ':')) if (*s != (i == 5? ')' : ':'))
break; break;
} }
if (i == 6) if (i == 6)
return 0; return 0;
} }
printk(KERN_ERR "%s: unable to parse MAC address: %s\n",
ec->dev.bus_id, cd.d.string);
no_addr:
return -ENODEV; return -ENODEV;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment