summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
diff options
context:
space:
mode:
authorDominik Sliwa <dominik.sliwa@toradex.com>2017-11-21 16:35:43 +0000
committerDominik Sliwa <dominik.sliwa@toradex.com>2018-09-18 13:01:26 +0200
commitd6a47bfb72f495a72637fbe635220f6af0f4cb6f (patch)
tree599ca63f39f31243e55a7a62df8c98fd40e308de /drivers/net/wireless/intel/iwlwifi/pcie/trans.c
parenta5867d9e1f9f8096480104d80f9a8088dbde9209 (diff)
backports:Backports for tegra 3.1 and 3.10 kernels
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/pcie/trans.c')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/pcie/trans.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
index 5613339..016b505 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
@@ -1950,10 +1950,19 @@ static void iwl_trans_pcie_removal_wk(struct work_struct *wk)
dev_err(&pdev->dev, "Device gone - attempting removal\n");
kobject_uevent_env(&pdev->dev.kobj, KOBJ_CHANGE, prop);
+#if LINUX_VERSION_IS_GEQ(3,14,0)
pci_lock_rescan_remove();
+#endif
pci_dev_put(pdev);
+#if LINUX_VERSION_IS_LESS(3,2,0)
+ pci_stop_bus_device(pdev);
+ pci_remove_bus_device(pdev);
+#else
pci_stop_and_remove_bus_device(pdev);
+#endif
+#if LINUX_VERSION_IS_GEQ(3,14,0)
pci_unlock_rescan_remove();
+#endif
kfree(removal);
module_put(THIS_MODULE);