summaryrefslogtreecommitdiffstats
path: root/net/rxrpc/peer_event.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2020-06-09 04:13:37 +0200
committerDavid S. Miller <davem@davemloft.net>2020-06-09 04:13:37 +0200
commit07a86b01c07c315d9b8eeb0009a9123af3d7dd4b (patch)
tree68a3765869746bc9dd275566c9d2f475e1f66539 /net/rxrpc/peer_event.c
parentmptcp: bugfix for RM_ADDR option parsing (diff)
parentrxrpc: Fix missing notification (diff)
downloadlinux-07a86b01c07c315d9b8eeb0009a9123af3d7dd4b.tar.xz
linux-07a86b01c07c315d9b8eeb0009a9123af3d7dd4b.zip
Merge tag 'rxrpc-fixes-20200605' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
David Howells says: ==================== rxrpc: Fix hang due to missing notification Here's a fix for AF_RXRPC. Occasionally calls hang because there are circumstances in which rxrpc generate a notification when a call is completed - primarily because initial packet transmission failed and the call was killed off and an error returned. But the AFS filesystem driver doesn't check this under all circumstances, expecting failure to be delivered by asynchronous notification. There are two patches: the first moves the problematic bits out-of-line and the second contains the fix. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rxrpc/peer_event.c')
-rw-r--r--net/rxrpc/peer_event.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/rxrpc/peer_event.c b/net/rxrpc/peer_event.c
index 112e490ebbcd..a852f46d5234 100644
--- a/net/rxrpc/peer_event.c
+++ b/net/rxrpc/peer_event.c
@@ -292,9 +292,7 @@ static void rxrpc_distribute_error(struct rxrpc_peer *peer, int error,
hlist_for_each_entry_rcu(call, &peer->error_targets, error_link) {
rxrpc_see_call(call);
- if (call->state < RXRPC_CALL_COMPLETE &&
- rxrpc_set_call_completion(call, compl, 0, -error))
- rxrpc_notify_socket(call);
+ rxrpc_set_call_completion(call, compl, 0, -error);
}
}