diff -uN /usr/src/linux-2.6.15-rc7/drivers/pci/hotplug/cpci_hotplug_core.c /home/cneira/Linuxjanitoring/linux-janitorpatching/drivers/pci/hotplug/cpci_hotplug_core.c --- /usr/src/linux-2.6.15-rc7/drivers/pci/hotplug/cpci_hotplug_core.c 2005-12-24 20:47:48.000000000 -0300 +++ /home/cneira/Linuxjanitoring/linux-janitorpatching/drivers/pci/hotplug/cpci_hotplug_core.c 2006-01-08 23:41:07.000000000 -0300 @@ -35,6 +35,7 @@ #include #include #include +#include #include "pci_hotplug.h" #include "cpci_hotplug.h" @@ -525,9 +526,9 @@ { int rc; - lock_kernel(); + spin_lock(&event_thread); daemonize("cpci_hp_eventd"); - unlock_kernel(); + spin_unlock(&event_thread); dbg("%s - event thread started", __FUNCTION__); while (1) { @@ -566,9 +567,9 @@ { int rc; - lock_kernel(); + spin_lock(&poll_thread); daemonize("cpci_hp_polld"); - unlock_kernel(); + spin_unlock(&poll_thread); while (1) { if (thread_finished || signal_pending(current)) diff -uN /usr/src/linux-2.6.15-rc7/drivers/pci/hotplug/cpqphp_ctrl.c /home/cneira/Linuxjanitoring/linux-janitorpatching/drivers/pci/hotplug/cpqphp_ctrl.c --- /usr/src/linux-2.6.15-rc7/drivers/pci/hotplug/cpqphp_ctrl.c 2005-12-24 20:47:48.000000000 -0300 +++ /home/cneira/Linuxjanitoring/linux-janitorpatching/drivers/pci/hotplug/cpqphp_ctrl.c 2006-01-08 23:37:19.000000000 -0300 @@ -37,6 +37,7 @@ #include #include #include +#include #include "cpqphp.h" static u32 configure_new_device(struct controller* ctrl, struct pci_func *func, @@ -1794,12 +1795,11 @@ static int event_thread(void* data) { struct controller *ctrl; - lock_kernel(); + spin_lock(&event_thread); daemonize("phpd_event"); + spin_unlock(&event_thread); - unlock_kernel(); - - while (1) { + while (1) { dbg("!!!!event_thread sleeping\n"); down_interruptible (&event_semaphore); dbg("event_thread woken finished = %d\n", event_finished); diff -uN /usr/src/linux-2.6.15-rc7/drivers/pci/hotplug/pciehp_ctrl.c /home/cneira/Linuxjanitoring/linux-janitorpatching/drivers/pci/hotplug/pciehp_ctrl.c --- /usr/src/linux-2.6.15-rc7/drivers/pci/hotplug/pciehp_ctrl.c 2005-12-24 20:47:48.000000000 -0300 +++ /home/cneira/Linuxjanitoring/linux-janitorpatching/drivers/pci/hotplug/pciehp_ctrl.c 2006-01-08 23:34:39.000000000 -0300 @@ -32,6 +32,7 @@ #include #include #include +#include #include "../pci.h" #include "pciehp.h" @@ -517,10 +518,9 @@ static int event_thread(void* data) { struct controller *ctrl; - lock_kernel(); + spin_lock(&event_thread); daemonize("pciehpd_event"); - - unlock_kernel(); + spin_unlock(&event_thread); while (1) { dbg("!!!!event_thread sleeping\n"); diff -uN /usr/src/linux-2.6.15-rc7/drivers/pci/hotplug/shpchp_ctrl.c /home/cneira/Linuxjanitoring/linux-janitorpatching/drivers/pci/hotplug/shpchp_ctrl.c --- /usr/src/linux-2.6.15-rc7/drivers/pci/hotplug/shpchp_ctrl.c 2005-12-24 20:47:48.000000000 -0300 +++ /home/cneira/Linuxjanitoring/linux-janitorpatching/drivers/pci/hotplug/shpchp_ctrl.c 2006-01-09 00:30:06.000000000 -0300 @@ -32,6 +32,7 @@ #include #include #include +#include #include "../pci.h" #include "shpchp.h" @@ -693,9 +694,9 @@ static int event_thread(void* data) { struct controller *ctrl; - lock_kernel(); + spin_lock(&event_thread); daemonize("shpchpd_event"); - unlock_kernel(); + spin_unlock(&event_thread); while (1) { dbg("!!!!event_thread sleeping\n");