]> git.baikalelectronics.ru Git - kernel.git/commit
atl1: relax eeprom mac address error check
authorRadu Cristescu <advantis@gmx.net>
Thu, 12 Jun 2008 22:04:54 +0000 (17:04 -0500)
committerJeff Garzik <jgarzik@redhat.com>
Wed, 18 Jun 2008 03:09:21 +0000 (23:09 -0400)
commit2fd7f2f022d2d1a6cd8dad4b99d59571504be06d
treefe34d345975b21d29abe52cb112cac28d528bd4c
parente177d040445ad243928a93bfae1f81ad4b1f160b
atl1: relax eeprom mac address error check

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: Radu Cristescu <advantis@gmx.net>
Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/atlx/atl1.c