diff options
| author | Alex Shi <alex.shi@linaro.org> | 2016-12-12 22:16:26 +0800 |
|---|---|---|
| committer | Alex Shi <alex.shi@linaro.org> | 2016-12-12 22:16:26 +0800 |
| commit | a057484ab40ff81f22a94bb62c035c78b5abd940 (patch) | |
| tree | 770ed007ccc70bee7e533a7fe532dd8a774b1457 /drivers/net/ethernet/marvell/sky2.c | |
| parent | 3ba1692e7239293d7bc5a596ca9b0707f5bc07d5 (diff) | |
| parent | c95b7f1fab0c76882764a5196119237c8ad436ee (diff) | |
Merge remote-tracking branch 'lts/linux-4.4.y' into linux-linaro-lsk-v4.4
Conflicts:
also change cpu_enable_uao in arch/arm64/include/asm/processor.h
comment unmatch fixed in arch/arm64/kernel/suspend.c
Diffstat (limited to 'drivers/net/ethernet/marvell/sky2.c')
| -rw-r--r-- | drivers/net/ethernet/marvell/sky2.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c index 5606a043063e..4b62aa1f9ff8 100644 --- a/drivers/net/ethernet/marvell/sky2.c +++ b/drivers/net/ethernet/marvell/sky2.c @@ -5220,6 +5220,19 @@ static SIMPLE_DEV_PM_OPS(sky2_pm_ops, sky2_suspend, sky2_resume); static void sky2_shutdown(struct pci_dev *pdev) { + struct sky2_hw *hw = pci_get_drvdata(pdev); + int port; + + for (port = 0; port < hw->ports; port++) { + struct net_device *ndev = hw->dev[port]; + + rtnl_lock(); + if (netif_running(ndev)) { + dev_close(ndev); + netif_device_detach(ndev); + } + rtnl_unlock(); + } sky2_suspend(&pdev->dev); pci_wake_from_d3(pdev, device_may_wakeup(&pdev->dev)); pci_set_power_state(pdev, PCI_D3hot); |
