From b2e822a1cb2a027829762a17eedafe442f2c0497 Mon Sep 17 00:00:00 2001 From: Bjorn Helgaas Date: Thu, 6 Dec 2012 06:40:07 +0000 Subject: [PATCH] --- yaml --- r: 351447 b: refs/heads/master c: ffe0b2ff17e1d59d33334767e07e8141de4bd5c8 h: refs/heads/master i: 351445: 82edb7c5382ea3aa158b2ed10b103129f7e43535 351443: 045fae6c69ca4f4a1119dc53fa3c4c78257af190 351439: 891b3ecf021027c925fa3d72ecb8eb68cf9ba6dd v: v3 --- [refs] | 2 +- trunk/drivers/net/ethernet/intel/e1000e/netdev.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 3863f5861272..20d72aa15331 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 203e41514a557b71c4c42b4bb2912b56fa0c2fdc +refs/heads/master: ffe0b2ff17e1d59d33334767e07e8141de4bd5c8 diff --git a/trunk/drivers/net/ethernet/intel/e1000e/netdev.c b/trunk/drivers/net/ethernet/intel/e1000e/netdev.c index 05538e66c809..bf2c84cf250f 100644 --- a/trunk/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/trunk/drivers/net/ethernet/intel/e1000e/netdev.c @@ -5548,14 +5548,21 @@ static void __e1000e_disable_aspm(struct pci_dev *pdev, u16 state) #else static void __e1000e_disable_aspm(struct pci_dev *pdev, u16 state) { + u16 aspm_ctl = 0; + + if (state & PCIE_LINK_STATE_L0S) + aspm_ctl |= PCI_EXP_LNKCTL_ASPM_L0S; + if (state & PCIE_LINK_STATE_L1) + aspm_ctl |= PCI_EXP_LNKCTL_ASPM_L1; + /* Both device and parent should have the same ASPM setting. * Disable ASPM in downstream component first and then upstream. */ - pcie_capability_clear_word(pdev, PCI_EXP_LNKCTL, state); + pcie_capability_clear_word(pdev, PCI_EXP_LNKCTL, aspm_ctl); if (pdev->bus->self) pcie_capability_clear_word(pdev->bus->self, PCI_EXP_LNKCTL, - state); + aspm_ctl); } #endif static void e1000e_disable_aspm(struct pci_dev *pdev, u16 state)