* Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx>: > Add missing lock for manipulating pci_hotplug_slot_list. Nice work, thanks. I've merged it. /ac > > Signed-off-by: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx> > > --- > drivers/pci/hotplug/pci_hotplug_core.c | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > Index: linux-2.6.25-rc6/drivers/pci/hotplug/pci_hotplug_core.c > =================================================================== > --- linux-2.6.25-rc6.orig/drivers/pci/hotplug/pci_hotplug_core.c > +++ linux-2.6.25-rc6/drivers/pci/hotplug/pci_hotplug_core.c > @@ -61,6 +61,7 @@ static int debug; > ////////////////////////////////////////////////////////////////// > > static LIST_HEAD(pci_hotplug_slot_list); > +static DEFINE_SPINLOCK(pci_hotplug_slot_list_lock); > > /* these strings match up with the values in pci_bus_speed */ > static char *pci_bus_speed_strings[] = { > @@ -529,12 +530,16 @@ static struct hotplug_slot *get_slot_fro > struct hotplug_slot *slot; > struct list_head *tmp; > > + spin_lock(&pci_hotplug_slot_list_lock); > list_for_each (tmp, &pci_hotplug_slot_list) { > slot = list_entry (tmp, struct hotplug_slot, slot_list); > if (strcmp(slot->name, name) == 0) > - return slot; > + goto out; > } > - return NULL; > + slot = NULL; > +out: > + spin_unlock(&pci_hotplug_slot_list_lock); > + return slot; > } > > /** > @@ -584,7 +589,9 @@ int pci_hp_register(struct hotplug_slot > } > } > > + spin_lock(&pci_hotplug_slot_list_lock); > list_add(&slot->slot_list, &pci_hotplug_slot_list); > + spin_unlock(&pci_hotplug_slot_list_lock); > > result = fs_add_slot(pci_slot); > kobject_uevent(&pci_slot->kobj, KOBJ_ADD); > @@ -613,7 +620,9 @@ int pci_hp_deregister(struct hotplug_slo > if (temp != hotplug) > return -ENODEV; > > + spin_lock(&pci_hotplug_slot_list_lock); > list_del(&hotplug->slot_list); > + spin_unlock(&pci_hotplug_slot_list_lock); > > slot = hotplug->pci_slot; > fs_remove_slot(slot); > > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html