From: stefano babic <sbabic@denx.de>
Date: Tue, 21 Aug 2007 13:50:33 +0000 (+0200)
Subject: Fix MAC address setting in DM9000 driver.
X-Git-Tag: v2025.01-rc5-pxa1908~22718^2~17^2~13
X-Git-Url: http://git.dujemihanovic.xyz/html/static/git-logo.png?a=commitdiff_plain;h=5f470948570526e9186f053a3003da7719604e90;p=u-boot.git

Fix MAC address setting in DM9000 driver.

The logic to check if there is a correct MAC address in the DM9000
EEPROM, added in the last patch, is wrong. Now the MAC address is
always taken from the environment, even if a suitable MAC is present
in the EEPROM.

Signed-off-by: Stefano Babic <sbabic@denx.de>
---

diff --git a/drivers/dm9000x.c b/drivers/dm9000x.c
index 78acb097ef..e0d531bd91 100644
--- a/drivers/dm9000x.c
+++ b/drivers/dm9000x.c
@@ -303,8 +303,8 @@ eth_init(bd_t * bd)
 	for (i = 0; i < 6; i++)
 		((u16 *) bd->bi_enetaddr)[i] = read_srom_word(i);
 
-	if (!is_zero_ether_addr(bd->bi_enetaddr) &&
-	    !is_mutlicast_ether_addr(bd->bi_enetaddr)) {
+	if (is_zero_ether_addr(bd->bi_enetaddr) ||
+	    is_multicast_ether_addr(bd->bi_enetaddr)) {
 		/* try reading from environment */
 		u8 i;
 		char *s, *e;
@@ -542,7 +542,7 @@ read_srom_word(int offset)
 {
 	DM9000_iow(DM9000_EPAR, offset);
 	DM9000_iow(DM9000_EPCR, 0x4);
-	udelay(200);
+	udelay(8000);
 	DM9000_iow(DM9000_EPCR, 0x0);
 	return (DM9000_ior(DM9000_EPDRL) + (DM9000_ior(DM9000_EPDRH) << 8));
 }