ieee1394: Fix kthread stopping in nodemgr_host_thread
authorSatyam Sharma <satyam@infradead.org>
Wed, 15 Aug 2007 14:35:38 +0000 (20:05 +0530)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 16 Oct 2007 21:59:56 +0000 (23:59 +0200)
The nodemgr host thread can exit on its own even when kthread_should_stop
is not true, on receiving a signal (might never happen in practice, as
it ignores signals). But considering kthread_stop() must not be mixed with
kthreads that can exit on their own, I think changing the code like this
is clearer. This change means the thread can cut its sleep short when
receive a signal but looking at the code around, that sounds okay (and
again, it might never actually recieve a signal in practice).

Signed-off-by: Satyam Sharma <satyam@infradead.org>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/ieee1394/nodemgr.c

index 1939fee616ec4b8ac4c47ff8b0e3aac0d21a366b..11712a3ae0adf97c536a992539058de13021cdae 100644 (file)
@@ -1712,7 +1712,8 @@ static int nodemgr_host_thread(void *__hi)
                 * to make sure things settle down. */
                g = get_hpsb_generation(host);
                for (i = 0; i < 4 ; i++) {
-                       if (msleep_interruptible(63) || kthread_should_stop())
+                       msleep_interruptible(63);
+                       if (kthread_should_stop())
                                goto exit;
 
                        /* Now get the generation in which the node ID's we collect