mirror of https://github.com/hak5/openwrt-owl.git
brcm47xx: wgt634u mac address fix
The Netgear wgt634u uses minus between the hex digest of the mac address and all other broadcom devices are using colons between the hex digest. Now the mac address is correctly parsed also when minus is used. SVN-Revision: 24749owl
parent
30439e7092
commit
93e09b14eb
|
@ -0,0 +1,20 @@
|
|||
--- a/arch/mips/include/asm/mach-bcm47xx/nvram.h
|
||||
+++ b/arch/mips/include/asm/mach-bcm47xx/nvram.h
|
||||
@@ -39,8 +39,15 @@ extern int nvram_getenv(char *name, char
|
||||
|
||||
static inline void nvram_parse_macaddr(char *buf, u8 *macaddr)
|
||||
{
|
||||
- sscanf(buf, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddr[0], &macaddr[1],
|
||||
- &macaddr[2], &macaddr[3], &macaddr[4], &macaddr[5]);
|
||||
+ if (strchr(buf, ':')) {
|
||||
+ sscanf(buf, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddr[0], &macaddr[1],
|
||||
+ &macaddr[2], &macaddr[3], &macaddr[4], &macaddr[5]);
|
||||
+ } else if (strchr(buf, '-')) {
|
||||
+ sscanf(buf, "%hhx-%hhx-%hhx-%hhx-%hhx-%hhx", &macaddr[0], &macaddr[1],
|
||||
+ &macaddr[2], &macaddr[3], &macaddr[4], &macaddr[5]);
|
||||
+ } else {
|
||||
+ printk(KERN_WARNING "Can not parse mac address: %s\n", buf);
|
||||
+ }
|
||||
}
|
||||
|
||||
#endif
|
|
@ -0,0 +1,20 @@
|
|||
--- a/arch/mips/include/asm/mach-bcm47xx/nvram.h
|
||||
+++ b/arch/mips/include/asm/mach-bcm47xx/nvram.h
|
||||
@@ -39,8 +39,15 @@ extern int nvram_getenv(char *name, char
|
||||
|
||||
static inline void nvram_parse_macaddr(char *buf, u8 *macaddr)
|
||||
{
|
||||
- sscanf(buf, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddr[0], &macaddr[1],
|
||||
- &macaddr[2], &macaddr[3], &macaddr[4], &macaddr[5]);
|
||||
+ if (strchr(buf, ':')) {
|
||||
+ sscanf(buf, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddr[0], &macaddr[1],
|
||||
+ &macaddr[2], &macaddr[3], &macaddr[4], &macaddr[5]);
|
||||
+ } else if (strchr(buf, '-')) {
|
||||
+ sscanf(buf, "%hhx-%hhx-%hhx-%hhx-%hhx-%hhx", &macaddr[0], &macaddr[1],
|
||||
+ &macaddr[2], &macaddr[3], &macaddr[4], &macaddr[5]);
|
||||
+ } else {
|
||||
+ printk(KERN_WARNING "Can not parse mac address: %s\n", buf);
|
||||
+ }
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue