• Radu Cristescu's avatar
    atl1: relax eeprom mac address error check · 58c7821c
    Radu Cristescu authored
    The atl1 driver tries to determine the MAC address thusly:
    
    	- If an EEPROM exists, read the MAC address from EEPROM and
    	  validate it.
    	- If an EEPROM doesn't exist, try to read a MAC address from
    	  SPI flash.
    	- If that fails, try to read a MAC address directly from the
    	  MAC Station Address register.
    	- If that fails, assign a random MAC address provided by the
    	  kernel.
    
    We now have a report of a system fitted with an EEPROM containing all
    zeros where we expect the MAC address to be, and we currently handle
    this as an error condition.  Turns out, on this system the BIOS writes
    a valid MAC address to the NIC's MAC Station Address register, but we
    never try to read it because we return an error when we find the all-
    zeros address in EEPROM.
    
    This patch relaxes the error check and continues looking for a MAC
    address even if it finds an illegal one in EEPROM.
    Signed-off-by: default avatarRadu Cristescu <advantis@gmx.net>
    Signed-off-by: default avatarJay Cliburn <jacliburn@bellsouth.net>
    Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
    58c7821c
atl1.c 100 KB