On Fri, Mar 18, 2005 at 02:11:44PM -0800, Rajesh Shah wrote: > diff -puN drivers/pci/remove.c~pci-remove-device-hotplug-safe > drivers/pci/remove.c > --- linux-2.6.11-mm4-iohp/drivers/pci/remove.c~pci-remove-device-hotplug-safe > 2005-03-16 13:07:22.667319764 -0800 > +++ linux-2.6.11-mm4-iohp-rshah1/drivers/pci/remove.c 2005-03-16 > 13:07:22.775718200 -0800 > @@ -26,17 +26,21 @@ static void pci_free_resources(struct pc > > static void pci_destroy_dev(struct pci_dev *dev) > { > - pci_proc_detach_device(dev); > - pci_remove_sysfs_dev_files(dev); > - device_unregister(&dev->dev); > + if (!list_empty(&dev->global_list)) { > + pci_proc_detach_device(dev); > + pci_remove_sysfs_dev_files(dev); > + device_unregister(&dev->dev); > + spin_lock(&pci_bus_lock); > + list_del(&dev->global_list); > + dev->global_list.next = dev->global_list.prev = NULL; > + spin_unlock(&pci_bus_lock); > + } > > /* Remove the device from the device lists, and prevent any further > * list accesses from this device */ > spin_lock(&pci_bus_lock); > list_del(&dev->bus_list); > - list_del(&dev->global_list); > dev->bus_list.next = dev->bus_list.prev = NULL; > - dev->global_list.next = dev->global_list.prev = NULL; > spin_unlock(&pci_bus_lock); > > pci_free_resources(dev);
I did have a comment about this code at first glance, but in reviewing it again, nevermind, it looks fine... thanks, greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/