diff options
author | David Howells <dhowells@redhat.com> | 2016-09-17 05:49:11 -0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2016-09-17 05:51:54 -0400 |
commit | e6f3afb3fc058e17b407b6f7cac08058b19e641c (patch) | |
tree | 07216f88a9bbc47c758d23e37a25e753b316b25b | |
parent | 816c9fce12f3745abc959c0fca8ace1c2c51421c (diff) |
rxrpc: Record calls that need to be accepted
Record calls that need to be accepted using sk_acceptq_added() otherwise
the backlog counter goes negative because sk_acceptq_removed() is called.
This causes the preallocator to malfunction.
Calls that are preaccepted by AFS within the kernel aren't affected by
this.
Signed-off-by: David Howells <dhowells@redhat.com>
-rw-r--r-- | net/rxrpc/call_accept.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/rxrpc/call_accept.c b/net/rxrpc/call_accept.c index 26c293ef98eb..323b8da50163 100644 --- a/net/rxrpc/call_accept.c +++ b/net/rxrpc/call_accept.c | |||
@@ -369,6 +369,8 @@ found_service: | |||
369 | 369 | ||
370 | if (rx->notify_new_call) | 370 | if (rx->notify_new_call) |
371 | rx->notify_new_call(&rx->sk, call, call->user_call_ID); | 371 | rx->notify_new_call(&rx->sk, call, call->user_call_ID); |
372 | else | ||
373 | sk_acceptq_added(&rx->sk); | ||
372 | 374 | ||
373 | spin_lock(&conn->state_lock); | 375 | spin_lock(&conn->state_lock); |
374 | switch (conn->state) { | 376 | switch (conn->state) { |