# HG changeset patch # User msalter # Date 1046358416 0 # Node ID f9b51f6b4eaf645f65b295f1c1abd86021802dbd # Parent 710133d0d4c061d212775f617d5192ad6bbd71a5 i82559 eeprom writing fix diff --git a/packages/devs/eth/intel/i82559/current/ChangeLog b/packages/devs/eth/intel/i82559/current/ChangeLog --- a/packages/devs/eth/intel/i82559/current/ChangeLog +++ b/packages/devs/eth/intel/i82559/current/ChangeLog @@ -1,3 +1,8 @@ +2003-02-27 Mark Salter + + * src/if_i82559.c (eth_set_mac_address): Correct writing + of wrong address to EEPROM. + 2003-02-22 Mark Salter * src/if_i82559.c: Fix endian issues with EEPROM writing. diff --git a/packages/devs/eth/intel/i82559/current/src/if_i82559.c b/packages/devs/eth/intel/i82559/current/src/if_i82559.c --- a/packages/devs/eth/intel/i82559/current/src/if_i82559.c +++ b/packages/devs/eth/intel/i82559/current/src/if_i82559.c @@ -3356,9 +3356,9 @@ eth_set_mac_address(struct i82559* p_i82 eeprom_burn[i] = read_eeprom( ioaddr, i, addr_length ); // now set this address in the device eeprom .... - eeprom_burn[0] = p_i82559->mac_address[0] | (p_i82559->mac_address[1] << 8); - eeprom_burn[1] = p_i82559->mac_address[2] | (p_i82559->mac_address[3] << 8); - eeprom_burn[2] = p_i82559->mac_address[4] | (p_i82559->mac_address[5] << 8); + eeprom_burn[0] = addr[0] | (addr[1] << 8); + eeprom_burn[1] = addr[2] | (addr[3] << 8); + eeprom_burn[2] = addr[4] | (addr[5] << 8); // No idea what these were for... // eeprom_burn[20] &= 0xfe;