projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ide-floppy: remove needless parens
[cascardo/linux.git]
/
drivers
/
pci
/
remove.c
diff --git
a/drivers/pci/remove.c
b/drivers/pci/remove.c
index
9684e1b
..
bdc2a44
100644
(file)
--- a/
drivers/pci/remove.c
+++ b/
drivers/pci/remove.c
@@
-1,5
+1,6
@@
#include <linux/pci.h>
#include <linux/module.h>
#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)
#include "pci.h"
static void pci_free_resources(struct pci_dev *dev)
@@
-18,18
+19,15
@@
static void pci_free_resources(struct pci_dev *dev)
static void pci_stop_dev(struct pci_dev *dev)
{
static void pci_stop_dev(struct pci_dev *dev)
{
- if (!dev->global_list.next)
- return;
-
- if (!list_empty(&dev->global_list)) {
+ if (dev->is_added) {
pci_proc_detach_device(dev);
pci_remove_sysfs_dev_files(dev);
device_unregister(&dev->dev);
pci_proc_detach_device(dev);
pci_remove_sysfs_dev_files(dev);
device_unregister(&dev->dev);
- down_write(&pci_bus_sem);
- list_del(&dev->global_list);
- dev->global_list.next = dev->global_list.prev = NULL;
- up_write(&pci_bus_sem);
+ dev->is_added = 0;
}
}
+
+ if (dev->bus->self)
+ pcie_aspm_exit_link_state(dev);
}
static void pci_destroy_dev(struct pci_dev *dev)
}
static void pci_destroy_dev(struct pci_dev *dev)