浏览代码

IB/hfi1: Use reference count wrapper for MRs

Some parts of the code don't use the standard driver
wrapper for memory region reference counters. Use the
standard driver wrapper throughout the code.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Sebastian Sanchez <sebastian.sanchez@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Sebastian Sanchez 9 年之前
父节点
当前提交
f84dfa26e6
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      drivers/infiniband/sw/rdmavt/mr.c

+ 4 - 4
drivers/infiniband/sw/rdmavt/mr.c

@@ -793,7 +793,7 @@ int rvt_lkey_ok(struct rvt_lkey_table *rkt, struct rvt_pd *pd,
 		mr = rcu_dereference(dev->dma_mr);
 		mr = rcu_dereference(dev->dma_mr);
 		if (!mr)
 		if (!mr)
 			goto bail;
 			goto bail;
-		atomic_inc(&mr->refcount);
+		rvt_get_mr(mr);
 		rcu_read_unlock();
 		rcu_read_unlock();
 
 
 		isge->mr = mr;
 		isge->mr = mr;
@@ -814,7 +814,7 @@ int rvt_lkey_ok(struct rvt_lkey_table *rkt, struct rvt_pd *pd,
 		     off + sge->length > mr->length ||
 		     off + sge->length > mr->length ||
 		     (mr->access_flags & acc) != acc))
 		     (mr->access_flags & acc) != acc))
 		goto bail;
 		goto bail;
-	atomic_inc(&mr->refcount);
+	rvt_get_mr(mr);
 	rcu_read_unlock();
 	rcu_read_unlock();
 
 
 	off += mr->offset;
 	off += mr->offset;
@@ -892,7 +892,7 @@ int rvt_rkey_ok(struct rvt_qp *qp, struct rvt_sge *sge,
 		mr = rcu_dereference(rdi->dma_mr);
 		mr = rcu_dereference(rdi->dma_mr);
 		if (!mr)
 		if (!mr)
 			goto bail;
 			goto bail;
-		atomic_inc(&mr->refcount);
+		rvt_get_mr(mr);
 		rcu_read_unlock();
 		rcu_read_unlock();
 
 
 		sge->mr = mr;
 		sge->mr = mr;
@@ -913,7 +913,7 @@ int rvt_rkey_ok(struct rvt_qp *qp, struct rvt_sge *sge,
 	if (unlikely(vaddr < mr->iova || off + len > mr->length ||
 	if (unlikely(vaddr < mr->iova || off + len > mr->length ||
 		     (mr->access_flags & acc) == 0))
 		     (mr->access_flags & acc) == 0))
 		goto bail;
 		goto bail;
-	atomic_inc(&mr->refcount);
+	rvt_get_mr(mr);
 	rcu_read_unlock();
 	rcu_read_unlock();
 
 
 	off += mr->offset;
 	off += mr->offset;