diff options
author | David Howells <dhowells@redhat.com> | 2016-09-13 23:36:21 +0200 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2016-09-13 23:36:21 +0200 |
commit | bc4abfcf51835420d61440b2b7aa18181bc1f273 (patch) | |
tree | b92a09373cd856ed8b490e4a27a28fd2fa37b5e6 /net/rxrpc/input.c | |
parent | rxrpc: Make sure we initialise the peer hash key (diff) | |
download | linux-bc4abfcf51835420d61440b2b7aa18181bc1f273.tar.xz linux-bc4abfcf51835420d61440b2b7aa18181bc1f273.zip |
rxrpc: Add missing wakeup on Tx window rotation
We need to wake up the sender when Tx window rotation due to an incoming
ACK makes space in the buffer otherwise the sender is liable to just hang
endlessly.
This problem isn't noticeable if the Tx phase transfers no more than will
fit in a single window or the Tx window rotates fast enough that it doesn't
get full.
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc/input.c')
-rw-r--r-- | net/rxrpc/input.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/rxrpc/input.c b/net/rxrpc/input.c index afeba98004b1..a707d5952164 100644 --- a/net/rxrpc/input.c +++ b/net/rxrpc/input.c @@ -59,6 +59,8 @@ static void rxrpc_rotate_tx_window(struct rxrpc_call *call, rxrpc_seq_t to) spin_unlock(&call->lock); + wake_up(&call->waitq); + while (list) { skb = list; list = skb->next; |