wifi: iwlwifi: pcie: rescan bus if no parent
[linux-2.6-block.git] / drivers / net / wireless / intel / iwlwifi / pcie / trans.c
index a9e00a2cd9ba1ec94c5c752489a4b043258771c7..51012435e39b5b082193d3ace87748a43eef323d 100644 (file)
@@ -2112,8 +2112,11 @@ static void iwl_trans_pcie_removal_wk(struct work_struct *wk)
        pci_lock_rescan_remove();
        pci_dev_put(pdev);
        pci_stop_and_remove_bus_device(pdev);
-       if (removal->rescan)
-               pci_rescan_bus(bus->parent);
+       if (removal->rescan && bus) {
+               if (bus->parent)
+                       bus = bus->parent;
+               pci_rescan_bus(bus);
+       }
        pci_unlock_rescan_remove();
 
        kfree(removal);