diff --git a/drivers/infiniband/ulp/rtrs/rtrs-clt.c b/drivers/infiniband/ulp/rtrs/rtrs-clt.c index 5c39e4c4bef7f75facf428561d2818596bb03e5b..aa3baee189c75cfcf1ca30c73848c9f44d322ed0 100644 --- a/drivers/infiniband/ulp/rtrs/rtrs-clt.c +++ b/drivers/infiniband/ulp/rtrs/rtrs-clt.c @@ -2231,6 +2231,12 @@ static int init_conns(struct rtrs_clt_sess *sess) goto destroy; } } + + /* + * Set the cid to con_num - 1, since if we fail later, we want to stay in bounds. + */ + cid = sess->s.con_num - 1; + err = alloc_sess_reqs(sess); if (err) goto destroy;