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 <stefanr@s5r6.in-berlin.de>
This commit is contained in:
Stefan Richter 2007-02-10 22:06:18 +01:00
parent 3dc5ea9b31
commit a65421ea3f

View File

@ -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);