mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-28 21:45:01 +08:00
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>
This commit is contained in:
parent
85bffe6ca2
commit
5d320a205d
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user