ChangeSet 1.1451.1.3, 2004/07/30 14:35:02-07:00, dan.zink@hp.com

[PATCH] PCI Hotplug: fix potential hang in cpqphp

Someone reported a hang when shutting down their system when cpqphp
was built in.  Ron Urwin tracked this down to a long standing bug in the
event thread.  It's not meant to receive signals but we weren't masking
them either.

Here is Ron's patch for 2.4.26.


 drivers/hotplug/cpqphp_ctrl.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletion(-)


diff -Nru a/drivers/hotplug/cpqphp_ctrl.c b/drivers/hotplug/cpqphp_ctrl.c
--- a/drivers/hotplug/cpqphp_ctrl.c	2004-08-23 15:06:56 -07:00
+++ b/drivers/hotplug/cpqphp_ctrl.c	2004-08-23 15:06:56 -07:00
@@ -1726,7 +1726,14 @@
 	
 	//  New name
 	strcpy(current->comm, "phpd_event");
-	
+
+	/* avoid getting signals */
+	spin_lock_irq(&current->sigmask_lock);
+	flush_signals(current);
+	sigfillset(&current->blocked);
+	recalc_sigpending(current);
+	spin_unlock_irq(&current->sigmask_lock);
+
 	unlock_kernel();
 
 	while (1) {
