qeth: fix qeth_wait_for_threads() deadlock for OSN devices
authorStefan Raspl <raspl@linux.vnet.ibm.com>
Sun, 7 Apr 2013 22:19:27 +0000 (22:19 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Apr 2013 21:16:57 +0000 (17:16 -0400)
commit65d8013cbdc661f9cb7645148de1facfe3d0c88a
treee2a977f555e08b420b9f4c926792d21cd10aba8a
parentf9c41a62bba3f3f7ef3541b2a025e3371bcbba97
qeth: fix qeth_wait_for_threads() deadlock for OSN devices

Any recovery thread will deadlock when calling qeth_wait_for_threads(), most
notably when triggering a recovery on an OSN device.
This patch will store the recovery thread's task pointer on recovery
invocation and check in qeth_wait_for_threads() respectively to avoid
deadlocks.

Signed-off-by: Stefan Raspl <raspl@linux.vnet.ibm.com>
Signed-off-by: Frank Blaschka <blaschka@linux.vnet.ibm.com>
Reviewed-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/s390/net/qeth_core.h
drivers/s390/net/qeth_core_main.c
drivers/s390/net/qeth_l2_main.c
drivers/s390/net/qeth_l3_main.c