Explorar el Código

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>
Stefan Richter hace 18 años
padre
commit
a65421ea3f
Se han modificado 1 ficheros con 2 adiciones y 1 borrados
  1. 2 1
      drivers/ieee1394/nodemgr.c

+ 2 - 1
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);