mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
r8169: power down chip in probe
The removed code would be called in two situations: 1. interface is brought up never or >10s after driver load 2. after close() Case 1 we can handle cleaner by ensuring chip is powered down when leaving probe(). open() callback will power up the chip. In case 2 we call rtl_pll_power_down() twice currently, from the close() callback and 10s later when entering runtime-suspend. This is avoided by this patch. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fd3d96ae49
commit
07df5bd874
1 changed files with 4 additions and 3 deletions
|
@ -6965,10 +6965,8 @@ static int rtl8169_runtime_suspend(struct device *device)
|
|||
struct net_device *dev = pci_get_drvdata(pdev);
|
||||
struct rtl8169_private *tp = netdev_priv(dev);
|
||||
|
||||
if (!tp->TxDescArray) {
|
||||
rtl_pll_power_down(tp);
|
||||
if (!tp->TxDescArray)
|
||||
return 0;
|
||||
}
|
||||
|
||||
rtl_lock_work(tp);
|
||||
__rtl8169_set_wol(tp, WAKE_ANY);
|
||||
|
@ -7485,6 +7483,9 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
if (rc)
|
||||
return rc;
|
||||
|
||||
/* chip gets powered up in rtl_open() */
|
||||
rtl_pll_power_down(tp);
|
||||
|
||||
rc = register_netdev(dev);
|
||||
if (rc)
|
||||
goto err_mdio_unregister;
|
||||
|
|
Loading…
Reference in a new issue