X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fpci%2Fremove.c;fp=drivers%2Fpci%2Fremove.c;h=1a6bf9de166fa343ff6123e10b9aecc54b106590;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=99ffbd478b29c5ffd74d4593ddab6625b2b7fc9d;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c index 99ffbd478..1a6bf9de1 100644 --- a/drivers/pci/remove.c +++ b/drivers/pci/remove.c @@ -22,18 +22,18 @@ static void pci_destroy_dev(struct pci_dev *dev) pci_proc_detach_device(dev); pci_remove_sysfs_dev_files(dev); device_unregister(&dev->dev); - down_write(&pci_bus_sem); + spin_lock(&pci_bus_lock); list_del(&dev->global_list); dev->global_list.next = dev->global_list.prev = NULL; - up_write(&pci_bus_sem); + spin_unlock(&pci_bus_lock); } /* Remove the device from the device lists, and prevent any further * list accesses from this device */ - down_write(&pci_bus_sem); + spin_lock(&pci_bus_lock); list_del(&dev->bus_list); dev->bus_list.next = dev->bus_list.prev = NULL; - up_write(&pci_bus_sem); + spin_unlock(&pci_bus_lock); pci_free_resources(dev); pci_dev_put(dev); @@ -62,9 +62,9 @@ void pci_remove_bus(struct pci_bus *pci_bus) { pci_proc_detach_bus(pci_bus); - down_write(&pci_bus_sem); + spin_lock(&pci_bus_lock); list_del(&pci_bus->node); - up_write(&pci_bus_sem); + spin_unlock(&pci_bus_lock); pci_remove_legacy_files(pci_bus); class_device_remove_file(&pci_bus->class_dev, &class_device_attr_cpuaffinity);