From: Stefan Richter Date: Sat, 10 Feb 2007 21:06:18 +0000 (+0100) Subject: ieee1394: fix another deadlock in nodemgr X-Git-Tag: v2.6.21-rc1~76^2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=a65421ea3f8a0e78b4e3b858bdc5ada5ad653807;p=~shefty%2Frdma-dev.git ieee1394: fix another deadlock in nodemgr A "modprobe ohci1394; sleep 1.5; modprobe -r ohci1394" could get stuck in uninterruptible state, especially if an external node was connected. http://bugzilla.kernel.org/show_bug.cgi?id=7792 Signed-off-by: Stefan Richter --- diff --git a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c index ba9faeff479..c5ace190bfe 100644 --- a/drivers/ieee1394/nodemgr.c +++ b/drivers/ieee1394/nodemgr.c @@ -1681,7 +1681,8 @@ static int nodemgr_host_thread(void *__hi) for (;;) { /* Sleep until next bus reset */ set_current_state(TASK_INTERRUPTIBLE); - if (get_hpsb_generation(host) == generation) + if (get_hpsb_generation(host) == generation && + !kthread_should_stop()) schedule(); __set_current_state(TASK_RUNNING);