diff options
author | Satyam Sharma <satyam@infradead.org> | 2007-08-15 10:35:38 -0400 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-10-16 17:59:56 -0400 |
commit | 69e2b602966533256edce1ed1b24fec23fe05962 (patch) | |
tree | eba525129823949846660d6253a145fe211636a3 /drivers | |
parent | 261b5f664c6c68c5209656a71c41823eda0d938b (diff) |
ieee1394: Fix kthread stopping in nodemgr_host_thread
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ieee1394/nodemgr.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c index 1939fee616ec..11712a3ae0ad 100644 --- a/drivers/ieee1394/nodemgr.c +++ b/drivers/ieee1394/nodemgr.c | |||
@@ -1712,7 +1712,8 @@ static int nodemgr_host_thread(void *__hi) | |||
1712 | * to make sure things settle down. */ | 1712 | * to make sure things settle down. */ |
1713 | g = get_hpsb_generation(host); | 1713 | g = get_hpsb_generation(host); |
1714 | for (i = 0; i < 4 ; i++) { | 1714 | for (i = 0; i < 4 ; i++) { |
1715 | if (msleep_interruptible(63) || kthread_should_stop()) | 1715 | msleep_interruptible(63); |
1716 | if (kthread_should_stop()) | ||
1716 | goto exit; | 1717 | goto exit; |
1717 | 1718 | ||
1718 | /* Now get the generation in which the node ID's we collect | 1719 | /* Now get the generation in which the node ID's we collect |