lkml.org 
[lkml]   [2003]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: [PATCH] PCI hotplug changes for 2.5.63
From
Date
ChangeSet 1.1022.1.4, 2003/02/24 16:26:14-08:00, greg@kroah.com

[PATCH] PCI Hotplug: remove the list_lock, as we rely on sysfs to detect any duplicate slot names.


diff -Nru a/drivers/hotplug/pci_hotplug_core.c b/drivers/hotplug/pci_hotplug_core.c
--- a/drivers/hotplug/pci_hotplug_core.c Mon Feb 24 17:15:50 2003
+++ b/drivers/hotplug/pci_hotplug_core.c Mon Feb 24 17:15:50 2003
@@ -67,8 +67,6 @@

//////////////////////////////////////////////////////////////////

-static spinlock_t list_lock;
-
static LIST_HEAD(pci_hotplug_slot_list);

static struct subsystem hotplug_slots_subsys;
@@ -531,23 +529,16 @@
if ((slot->info == NULL) || (slot->ops == NULL))
return -EINVAL;

- /* make sure we have not already registered this slot */
- spin_lock (&list_lock);
- if (get_slot_from_name (slot->name) != NULL) {
- spin_unlock (&list_lock);
- return -EINVAL;
- }
-
strncpy(slot->kobj.name, slot->name, KOBJ_NAME_LEN);
kobj_set_kset_s(slot, hotplug_slots_subsys);

+ /* this can fail if we have already registered a slot with the same name */
if (kobject_register(&slot->kobj)) {
err("Unable to register kobject");
return -EINVAL;
}

list_add (&slot->slot_list, &pci_hotplug_slot_list);
- spin_unlock (&list_lock);

result = fs_add_slot (slot);
dbg ("Added slot %s to the list\n", slot->name);
@@ -570,16 +561,11 @@
if (slot == NULL)
return -ENODEV;

- /* make sure we have this slot in our list before trying to delete it */
- spin_lock (&list_lock);
temp = get_slot_from_name (slot->name);
if (temp != slot) {
- spin_unlock (&list_lock);
return -ENODEV;
}
-
list_del (&slot->slot_list);
- spin_unlock (&list_lock);

fs_remove_slot (slot);
dbg ("Removed slot %s from the list\n", slot->name);
@@ -638,8 +624,6 @@
static int __init pci_hotplug_init (void)
{
int result;
-
- spin_lock_init(&list_lock);

kset_set_kset_s(&hotplug_slots_subsys, pci_bus_type.subsys);
result = subsystem_register(&hotplug_slots_subsys);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.050 / U:4.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site