diff options
author | Francois Romieu <romieu@fr.zoreil.com> | 2011-05-08 17:47:36 +0200 |
---|---|---|
committer | Francois romieu <romieu@fr.zoreil.com> | 2011-05-09 21:03:12 +0200 |
commit | 5d320a205de277774962782a4b1923e4f8cdf781 (patch) | |
tree | e7d970b1bd5867ea845f4ff621886edb17eaaf53 /drivers/net/r8169.c | |
parent | 85bffe6ca2e2d7e9510c115aa4f11c3d4209051f (diff) |
r8169: avoid late chip identifier initialisation.
Unknown 8168 chips did not have any PLL power method set as they
did not inherit a default family soon enough. Fix it.
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Realtek linux nic maintainers <nic_swsd@realtek.com>
Diffstat (limited to 'drivers/net/r8169.c')
-rw-r--r-- | drivers/net/r8169.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 4f1d45bd330..04f4e6086cd 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -1606,8 +1606,9 @@ static const struct ethtool_ops rtl8169_ethtool_ops = { }; static void rtl8169_get_mac_version(struct rtl8169_private *tp, - void __iomem *ioaddr) + struct net_device *dev, u8 default_version) { + void __iomem *ioaddr = tp->mmio_addr; /* * The driver currently handles the 8168Bf and the 8168Be identically * but they can be identified more specifically through the test below @@ -1694,6 +1695,12 @@ static void rtl8169_get_mac_version(struct rtl8169_private *tp, while ((reg & p->mask) != p->val) p++; tp->mac_version = p->mac_version; + + if (tp->mac_version == RTL_GIGA_MAC_NONE) { + netif_notice(tp, probe, dev, + "unknown MAC, using family default\n"); + tp->mac_version = default_version; + } } static void rtl8169_print_mac_version(struct rtl8169_private *tp) @@ -3353,7 +3360,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) pci_set_master(pdev); /* Identify chip attached to board */ - rtl8169_get_mac_version(tp, ioaddr); + rtl8169_get_mac_version(tp, dev, cfg->default_ver); /* * Pretend we are using VLANs; This bypasses a nasty bug where @@ -3365,13 +3372,6 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) rtl_init_mdio_ops(tp); rtl_init_pll_power_ops(tp); - /* Use appropriate default if unknown */ - if (tp->mac_version == RTL_GIGA_MAC_NONE) { - netif_notice(tp, probe, dev, - "unknown MAC, using family default\n"); - tp->mac_version = cfg->default_ver; - } - rtl8169_print_mac_version(tp); chipset = tp->mac_version; |