From: Wen Gu Date: Fri, 26 May 2023 11:49:00 +0000 (+0800) Subject: net/smc: Scan from current RMB list when no position specified X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=b24aa141c2ff26c919237aee61ea1818fc6780d9;p=linux.git net/smc: Scan from current RMB list when no position specified When finding the first RMB of link group, it should start from the current RMB list whose index is 0. So fix it. Fixes: b4ba4652b3f8 ("net/smc: extend LLC layer for SMC-Rv2") Signed-off-by: Wen Gu Signed-off-by: Paolo Abeni --- diff --git a/net/smc/smc_llc.c b/net/smc/smc_llc.c index a0840b8c935b8..8423e8e0063f4 100644 --- a/net/smc/smc_llc.c +++ b/net/smc/smc_llc.c @@ -578,7 +578,10 @@ static struct smc_buf_desc *smc_llc_get_next_rmb(struct smc_link_group *lgr, { struct smc_buf_desc *buf_next; - if (!buf_pos || list_is_last(&buf_pos->list, &lgr->rmbs[*buf_lst])) { + if (!buf_pos) + return _smc_llc_get_next_rmb(lgr, buf_lst); + + if (list_is_last(&buf_pos->list, &lgr->rmbs[*buf_lst])) { (*buf_lst)++; return _smc_llc_get_next_rmb(lgr, buf_lst); }