]> err.no Git - linux-2.6/blobdiff - drivers/pci/remove.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[linux-2.6] / drivers / pci / remove.c
index d3c77cbe327958f182b89b2b69e677df7d43cf45..bdc2a44d68e1dbc4859c7d1628a24411ca0802ee 100644 (file)
@@ -1,5 +1,6 @@
 #include <linux/pci.h>
 #include <linux/module.h>
+#include <linux/pci-aspm.h>
 #include "pci.h"
 
 static void pci_free_resources(struct pci_dev *dev)
@@ -23,11 +24,10 @@ static void pci_stop_dev(struct pci_dev *dev)
                pci_remove_sysfs_dev_files(dev);
                device_unregister(&dev->dev);
                dev->is_added = 0;
-               down_write(&pci_bus_sem);
-               list_del(&dev->global_list);
-               dev->global_list.next = dev->global_list.prev = NULL;
-               up_write(&pci_bus_sem);
        }
+
+       if (dev->bus->self)
+               pcie_aspm_exit_link_state(dev);
 }
 
 static void pci_destroy_dev(struct pci_dev *dev)