X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fpci%2Fremove.c;h=bdc2a44d68e1dbc4859c7d1628a24411ca0802ee;hb=31d5d275a118527a2b9b0f68613428f176efbb8f;hp=ec4a82ba29a8d04b6739462e846395388cace68d;hpb=215e871aaa3d94540121a3809d80d0c5e5686e4f;p=linux-2.6-omap-h63xx.git diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c index ec4a82ba29a..bdc2a44d68e 100644 --- a/drivers/pci/remove.c +++ b/drivers/pci/remove.c @@ -1,6 +1,6 @@ #include #include -#include +#include #include "pci.h" static void pci_free_resources(struct pci_dev *dev) @@ -19,17 +19,11 @@ static void pci_free_resources(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); - 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)