diff options
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/ixp4xx/patches-2.6.35/520-tw2662_support.patch | 13 |
1 files changed, 5 insertions, 8 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 a83a15dc9..7bef1d408 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,215 @@ +@@ -0,0 +1,212 @@ +/* + * arch/arm/mach-ixp4xx/tw2662-setup.c + * @@ -302,7 +302,6 @@ +static void __init tw2662_init(void) +{ + ixp4xx_sys_init(); -+ int i; + + tw2662_flash_resource.start = IXP4XX_EXP_BUS_BASE(0); + tw2662_flash_resource.end = @@ -310,13 +309,11 @@ + + platform_add_devices(tw2662_devices, ARRAY_SIZE(tw2662_devices)); + -+ 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 */ ++ if (!(is_valid_ether_addr(tw2662_plat_eth[0].hwaddr))) + random_ether_addr(tw2662_plat_eth[0].hwaddr); -+ tw2662_plat_eth[1].hwaddr = (tw2662_plat_eth[0].hwaddr + 1); ++ if (!(is_valid_ether_addr(tw2662_plat_eth[1].hwaddr))) { ++ memcpy(tw2662_plat_eth[1].hwaddr, tw2662_plat_eth[0].hwaddr, ETH_ALEN); ++ tw2662_plat_eth[1].hwaddr[5] = (tw2662_plat_eth[0].hwaddr[5] + 1); + } + +} |