diff options
author | David S. Miller <davem@davemloft.net> | 2008-02-24 17:57:16 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-02-24 17:57:16 -0800 |
commit | 323dbaba2cfab170c656f5d68986ff0ced5b421c (patch) | |
tree | 99d2ef0d64df0036a4a9d2ef054b5bf20dd7fbd5 /drivers/net/sis190.c | |
parent | bfa274e2436fc7ef72ef51c878083647f1cfd429 (diff) | |
parent | 3bf319a787a881aa6ad8213b98b93b8de2b6f0e0 (diff) | |
download | linux-323dbaba2cfab170c656f5d68986ff0ced5b421c.tar.gz linux-323dbaba2cfab170c656f5d68986ff0ced5b421c.tar.xz |
Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
Diffstat (limited to 'drivers/net/sis190.c')
-rw-r--r-- | drivers/net/sis190.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index 202fdf356621..20745fd4e973 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c @@ -1633,13 +1633,18 @@ static inline void sis190_init_rxfilter(struct net_device *dev) static int __devinit sis190_get_mac_addr(struct pci_dev *pdev, struct net_device *dev) { - u8 from; + int rc; + + rc = sis190_get_mac_addr_from_eeprom(pdev, dev); + if (rc < 0) { + u8 reg; - pci_read_config_byte(pdev, 0x73, &from); + pci_read_config_byte(pdev, 0x73, ®); - return (from & 0x00000001) ? - sis190_get_mac_addr_from_apc(pdev, dev) : - sis190_get_mac_addr_from_eeprom(pdev, dev); + if (reg & 0x00000001) + rc = sis190_get_mac_addr_from_apc(pdev, dev); + } + return rc; } static void sis190_set_speed_auto(struct net_device *dev) |