View | Details | Raw Unified | Return to bug 9512 | Differences between
and this patch

Collapse All | Expand All

(-)a/drivers/net/r8169.c (-8 / +14 lines)
Lines 2273-2278 static int rtl8169_open(struct net_device *dev) Link Here
2273
2273
2274
	napi_enable(&tp->napi);
2274
	napi_enable(&tp->napi);
2275
2275
2276
	pci_set_power_state(pdev, PCI_D0);
2277
2276
	rtl_hw_start(dev);
2278
	rtl_hw_start(dev);
2277
2279
2278
	rtl8169_request_timer(dev);
2280
	rtl8169_request_timer(dev);
Lines 3672-3678 static void rtl8169_down(struct net_device *dev) Link Here
3672
core_down:
3674
core_down:
3673
	spin_lock_irq(&tp->lock);
3675
	spin_lock_irq(&tp->lock);
3674
3676
3675
	rtl8169_asic_down(ioaddr);
3677
	if (tp->features & RTL_FEATURE_WOL) {
3678
		struct pci_dev *pdev = tp->pci_dev;
3679
3680
		pci_wake_from_d3(pdev, true);
3681
		pci_set_power_state(pdev, PCI_D3cold);
3682
	} else
3683
		rtl8169_asic_down(ioaddr);
3676
3684
3677
	rtl8169_rx_missed(dev, ioaddr);
3685
	rtl8169_rx_missed(dev, ioaddr);
3678
3686
Lines 3867-3882 static void rtl_shutdown(struct pci_dev *pdev) Link Here
3867
3875
3868
	rtl8169_net_suspend(dev);
3876
	rtl8169_net_suspend(dev);
3869
3877
3870
	spin_lock_irq(&tp->lock);
3871
3872
	rtl8169_asic_down(ioaddr);
3873
3874
	spin_unlock_irq(&tp->lock);
3875
3876
	if (system_state == SYSTEM_POWER_OFF) {
3878
	if (system_state == SYSTEM_POWER_OFF) {
3879
		struct pci_dev *pdev = tp->pci_dev;
3880
3877
		pci_wake_from_d3(pdev, true);
3881
		pci_wake_from_d3(pdev, true);
3878
		pci_set_power_state(pdev, PCI_D3hot);
3882
		pci_set_power_state(pdev, PCI_D3hot);
3879
	}
3883
	} else
3884
		rtl8169_asic_down(ioaddr);
3885
3880
}
3886
}
3881
3887
3882
static struct pci_driver rtl8169_pci_driver = {
3888
static struct pci_driver rtl8169_pci_driver = {

Return to bug 9512