On Sun, Nov 13, 2022 at 2:08 AM Guoqing Jiang <guoqing.jiang@xxxxxxxxx> wrote: > > We should check with nr_sgt, also the only successful case is that > all sg elements are mapped, so make it explict. > > Signed-off-by: Guoqing Jiang <guoqing.jiang@xxxxxxxxx> > --- > drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/infiniband/ulp/rtrs/rtrs-srv.c b/drivers/infiniband/ulp/rtrs/rtrs-srv.c > index 88eae0dcf87f..f3bf5bbb4377 100644 > --- a/drivers/infiniband/ulp/rtrs/rtrs-srv.c > +++ b/drivers/infiniband/ulp/rtrs/rtrs-srv.c > @@ -622,8 +622,8 @@ static int map_cont_bufs(struct rtrs_srv_path *srv_path) > } > nr = ib_map_mr_sg(mr, sgt->sgl, nr_sgt, > NULL, max_chunk_size); > - if (nr < 0 || nr < sgt->nents) { > - err = nr < 0 ? nr : -EINVAL; > + if (nr != nr_sgt) { > + err = -EINVAL; but with this, the initial errno are lost, we only return EINVAL > goto dereg_mr; > } > > -- > 2.31.1 >