From 27e4cb3628c457253dc47b9ca9201ef89f1a456b Mon Sep 17 00:00:00 2001
From: "Alexandros C. Couloumbis" <alex@ozo.com>
Date: Thu, 17 Jun 2010 11:41:26 +0000
Subject: [PATCH] ixp4xx: fir commit r21825

SVN-Revision: 21827
---
 .../ixp4xx/patches-2.6.35/520-tw2662_support.patch  | 13 +++++--------
 1 file 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 a83a15dc99..7bef1d4080 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);
 +	}
 +
 +}
-- 
2.30.2