diff -Naur linux-2.4.17/drivers/usb/hub.c linux/drivers/usb/hub.c --- linux-2.4.17/drivers/usb/hub.c Mon Feb 18 20:43:48 2002 +++ linux/drivers/usb/hub.c Mon Feb 18 20:38:50 2002 @@ -826,6 +826,8 @@ static int usb_hub_thread(void *__hub) { + struct task_struct *tsk = current; + lock_kernel(); /* @@ -835,6 +837,13 @@ daemonize(); + /* avoid getting signals */ + spin_lock_irq(&tsk->sigmask_lock); + flush_signals(tsk); + sigfillset(&tsk->blocked); + recalc_sigpending(tsk); + spin_unlock_irq(&tsk->sigmask_lock); + /* Setup a nice name */ strcpy(current->comm, "khubd"); @@ -879,7 +888,7 @@ } pid = kernel_thread(usb_hub_thread, NULL, - CLONE_FS | CLONE_FILES | CLONE_SIGHAND); + CLONE_FS | CLONE_FILES | CLONE_SIGNAL); if (pid >= 0) { khubd_pid = pid;