summaryrefslogtreecommitdiff
path: root/net/rds
diff options
context:
space:
mode:
authorHåkon Bugge <haakon.bugge@oracle.com>2026-02-02 22:57:20 -0700
committerSasha Levin <sashal@kernel.org>2026-03-04 07:20:32 -0500
commitbcf034fa5f66b6a3e787f765a917934a2045cf7a (patch)
treee877ba81b6df8b330df3f8214a06a08a2a15f443 /net/rds
parent0685af9952706ff161f5b2b3522e8e9168198e8d (diff)
net/rds: Clear reconnect pending bit
[ Upstream commit b89fc7c2523b2b0750d91840f4e52521270d70ed ] When canceling the reconnect worker, care must be taken to reset the reconnect-pending bit. If the reconnect worker has not yet been scheduled before it is canceled, the reconnect-pending bit will stay on forever. Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com> Signed-off-by: Allison Henderson <allison.henderson@oracle.com> Link: https://patch.msgid.link/20260203055723.1085751-6-achender@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'net/rds')
-rw-r--r--net/rds/connection.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/rds/connection.c b/net/rds/connection.c
index ad8027e6f54e..dbfea6fa1126 100644
--- a/net/rds/connection.c
+++ b/net/rds/connection.c
@@ -429,6 +429,8 @@ void rds_conn_shutdown(struct rds_conn_path *cp)
* to the conn hash, so we never trigger a reconnect on this
* conn - the reconnect is always triggered by the active peer. */
cancel_delayed_work_sync(&cp->cp_conn_w);
+
+ clear_bit(RDS_RECONNECT_PENDING, &cp->cp_flags);
rcu_read_lock();
if (!hlist_unhashed(&conn->c_hash_node)) {
rcu_read_unlock();