Skip to content

Commit 3a71cd6

Browse files
hiqbal-ionosrleon
authored andcommitted
RDMA/rtrs-srv: Free srv_mr iu only when always_invalidate is true
Since srv_mr->iu is allocated and used only when always_invalidate is true, free it only when always_invalidate is true. Fixes: 9cb8374 ("RDMA/rtrs: server: main functionality") Signed-off-by: Md Haris Iqbal <[email protected]> Signed-off-by: Jack Wang <[email protected]> Signed-off-by: Grzegorz Prajsner <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Leon Romanovsky <[email protected]>
1 parent ed1e52a commit 3a71cd6

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

drivers/infiniband/ulp/rtrs/rtrs-srv.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,10 @@ static void unmap_cont_bufs(struct rtrs_srv_path *srv_path)
551551
struct rtrs_srv_mr *srv_mr;
552552

553553
srv_mr = &srv_path->mrs[i];
554-
rtrs_iu_free(srv_mr->iu, srv_path->s.dev->ib_dev, 1);
554+
555+
if (always_invalidate)
556+
rtrs_iu_free(srv_mr->iu, srv_path->s.dev->ib_dev, 1);
557+
555558
ib_dereg_mr(srv_mr->mr);
556559
ib_dma_unmap_sg(srv_path->s.dev->ib_dev, srv_mr->sgt.sgl,
557560
srv_mr->sgt.nents, DMA_BIDIRECTIONAL);

0 commit comments

Comments
 (0)