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>
        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);