diff options
author | Alexandros C. Couloumbis <alex@ozo.com> | 2010-06-17 08:17:17 +0000 |
---|---|---|
committer | Alexandros C. Couloumbis <alex@ozo.com> | 2010-06-17 08:17:17 +0000 |
commit | ced9c581454eab98626f2f70400546f086b9e7b4 (patch) | |
tree | 71090db2fa4deeee30f95442d6f8282e5079d1c2 /target | |
parent | 2dcfed2eff694b155ef70ef20447da0a9347eb69 (diff) | |
download | upstream-ced9c581454eab98626f2f70400546f086b9e7b4.tar.gz upstream-ced9c581454eab98626f2f70400546f086b9e7b4.tar.bz2 upstream-ced9c581454eab98626f2f70400546f086b9e7b4.zip |
ixp4xx: (Titan Wireless 2662) check for invalid/null MAC before assigning a random one
SVN-Revision: 21825
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/ixp4xx/patches-2.6.35/520-tw2662_support.patch | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/target/linux/ixp4xx/patches-2.6.35/520-tw2662_support.patch b/target/linux/ixp4xx/patches-2.6.35/520-tw2662_support.patch index cc796c504b..a83a15dc99 100644 --- a/target/linux/ixp4xx/patches-2.6.35/520-tw2662_support.patch +++ b/target/linux/ixp4xx/patches-2.6.35/520-tw2662_support.patch @@ -118,7 +118,7 @@ +subsys_initcall(tw2662_pci_init); --- /dev/null +++ b/arch/arm/mach-ixp4xx/tw2662-setup.c -@@ -0,0 +1,208 @@ +@@ -0,0 +1,215 @@ +/* + * arch/arm/mach-ixp4xx/tw2662-setup.c + * @@ -302,15 +302,22 @@ +static void __init tw2662_init(void) +{ + ixp4xx_sys_init(); ++ int i; + + tw2662_flash_resource.start = IXP4XX_EXP_BUS_BASE(0); + tw2662_flash_resource.end = + IXP4XX_EXP_BUS_BASE(0) + ixp4xx_exp_bus_size - 1; + + platform_add_devices(tw2662_devices, ARRAY_SIZE(tw2662_devices)); -+ /* hack MACs as most of these boards have a broken eeprom */ -+ random_ether_addr(tw2662_plat_eth[0].hwaddr); -+ random_ether_addr(tw2662_plat_eth[1].hwaddr); ++ ++ for (i = 0; i < 6; i++) ++ if (tw2662_plat_eth[0].hwaddr[i] != 0x00) ++ break; ++ if (i == 6) { ++ /* hack MACs as most of these boards have a broken eeprom */ ++ random_ether_addr(tw2662_plat_eth[0].hwaddr); ++ tw2662_plat_eth[1].hwaddr = (tw2662_plat_eth[0].hwaddr + 1); ++ } + +} + |