struct i2c_interface *i2c = &efab->ef1002_i2c.i2c;
struct i2c_device *i2cdev = &efab->ef1002_eeprom;
- return ( i2c->read ( i2c, i2cdev, EF1_EEPROM_HWADDR_OFFSET,
- efab->mac_addr, sizeof ( efab->mac_addr ) ) == 0);
+ if ( i2c->read ( i2c, i2cdev, EF1_EEPROM_HWADDR_OFFSET,
+ efab->mac_addr, sizeof ( efab->mac_addr ) ) != 0 )
+ return 0;
+
+ efab->mac_addr[ETH_ALEN-1] += efab->port;
+
+ return 1;
}
/** RX descriptor */
/* Read MAC address from EEPROM */
if ( ! efab->op->read_eeprom ( efab ) )
return 0;
- efab->mac_addr[ETH_ALEN-1] += efab->port;
/* Initialise MAC and wait for link up */
if ( ! efab_init_mac ( efab ) )