From: Hui.Tang <zetalabs@gmail.com>
Date: Thu, 5 Nov 2009 01:58:44 +0000 (+0800)
Subject: Fix cs8900 dev->priv not init issue
X-Git-Tag: v2025.01-rc5-pxa1908~20668^2~6
X-Git-Url: http://git.dujemihanovic.xyz/html/index.html?a=commitdiff_plain;h=497ab0eec5e1e2dfccc141a4485cd6b940e1424a;p=u-boot.git

Fix cs8900 dev->priv not init issue

Ensure all CS8900 data structures are assigned before accessing device

Signed-off-by: Hui.Tang <zetalabs@gmail.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
---

diff --git a/drivers/net/cs8900.c b/drivers/net/cs8900.c
index 587f7f62a7..a9d1f22734 100644
--- a/drivers/net/cs8900.c
+++ b/drivers/net/cs8900.c
@@ -321,15 +321,16 @@ int cs8900_initialize(u8 dev_num, int base_addr)
 	memset(priv, 0, sizeof(*priv));
 	priv->regs = (struct cs8900_regs *)base_addr;
 
-	/* Load MAC address from EEPROM */
-	cs8900_get_enetaddr(dev);
-
 	dev->iobase = base_addr;
 	dev->priv = priv;
 	dev->init = cs8900_init;
 	dev->halt = cs8900_halt;
 	dev->send = cs8900_send;
 	dev->recv = cs8900_recv;
+
+	/* Load MAC address from EEPROM */
+	cs8900_get_enetaddr(dev);
+
 	sprintf(dev->name, "%s-%hu", CS8900_DRIVERNAME, dev_num);
 
 	eth_register(dev);