e1000e: Fix incorrect ASPM locking
authorRaanan Avargil <raanan.avargil@intel.com>
Mon, 6 Jul 2015 14:57:36 +0000 (17:57 +0300)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 5 Aug 2015 23:53:47 +0000 (16:53 -0700)
This patch fixes wrong locking usage.
In the context of slot reset, we should use lock.
And during resume, there is no need of lock.

Reported-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Raanan Avargil <raanan.avargil@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/e1000e/netdev.c

index b32bc4848ae32aa08c6b37dae1e98b452984478c..24b7269ff929d8c9674c52dba5d29badd6e32509 100644 (file)
@@ -6493,7 +6493,7 @@ static int __e1000_resume(struct pci_dev *pdev)
        if (adapter->flags2 & FLAG2_DISABLE_ASPM_L1)
                aspm_disable_flag |= PCIE_LINK_STATE_L1;
        if (aspm_disable_flag)
-               e1000e_disable_aspm_locked(pdev, aspm_disable_flag);
+               e1000e_disable_aspm(pdev, aspm_disable_flag);
 
        pci_set_master(pdev);
 
@@ -6771,7 +6771,7 @@ static pci_ers_result_t e1000_io_slot_reset(struct pci_dev *pdev)
        if (adapter->flags2 & FLAG2_DISABLE_ASPM_L1)
                aspm_disable_flag |= PCIE_LINK_STATE_L1;
        if (aspm_disable_flag)
-               e1000e_disable_aspm(pdev, aspm_disable_flag);
+               e1000e_disable_aspm_locked(pdev, aspm_disable_flag);
 
        err = pci_enable_device_mem(pdev);
        if (err) {