Commit b89fc7c2 authored by Håkon Bugge's avatar Håkon Bugge Committed by Jakub Kicinski
Browse files

net/rds: Clear reconnect pending bit



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: default avatarHåkon Bugge <haakon.bugge@oracle.com>
Signed-off-by: default avatarAllison Henderson <allison.henderson@oracle.com>
Link: https://patch.msgid.link/20260203055723.1085751-6-achender@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent aa0cd656
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -442,6 +442,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();