aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSatyam Sharma <satyam@infradead.org>2007-08-15 10:35:38 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2007-10-16 17:59:56 -0400
commit69e2b602966533256edce1ed1b24fec23fe05962 (patch)
treeeba525129823949846660d6253a145fe211636a3 /drivers
parent261b5f664c6c68c5209656a71c41823eda0d938b (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.c3
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