From: Hui.Tang Date: Thu, 5 Nov 2009 01:58:44 +0000 (+0800) Subject: Fix cs8900 dev->priv not init issue X-Git-Tag: v2009.11-rc2~60^2~6 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=497ab0eec5e1e2dfccc141a4485cd6b940e1424a;p=oweals%2Fu-boot.git Fix cs8900 dev->priv not init issue Ensure all CS8900 data structures are assigned before accessing device Signed-off-by: Hui.Tang Signed-off-by: Ben Warren --- 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);