diff options
author | Julian Wiedmann <jwi@linux.vnet.ibm.com> | 2018-03-20 07:59:13 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-22 11:52:30 -0400 |
commit | 1063e432bb45be209427ed3f1ca3908e4aa3c7d7 (patch) | |
tree | 16317564c334a8756881395816e18ee000602557 /drivers/s390/net | |
parent | 6be687395b3124f002a653c1a50b3260222b3cd7 (diff) | |
download | linux-1063e432bb45be209427ed3f1ca3908e4aa3c7d7.tar.gz linux-1063e432bb45be209427ed3f1ca3908e4aa3c7d7.tar.bz2 linux-1063e432bb45be209427ed3f1ca3908e4aa3c7d7.zip |
s390/qeth: when thread completes, wake up all waiters
qeth_wait_for_threads() is potentially called by multiple users, make
sure to notify all of them after qeth_clear_thread_running_bit()
adjusted the thread_running_mask. With no timeout, callers would
otherwise stall.
Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r-- | drivers/s390/net/qeth_core_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index 4a820afececd..42ee8806fa53 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c @@ -960,7 +960,7 @@ void qeth_clear_thread_running_bit(struct qeth_card *card, unsigned long thread) spin_lock_irqsave(&card->thread_mask_lock, flags); card->thread_running_mask &= ~thread; spin_unlock_irqrestore(&card->thread_mask_lock, flags); - wake_up(&card->wait_q); + wake_up_all(&card->wait_q); } EXPORT_SYMBOL_GPL(qeth_clear_thread_running_bit); |