IB/hfi1: Use reference count wrapper for MRs
authorSebastian Sanchez <sebastian.sanchez@intel.com>
Thu, 8 Dec 2016 03:33:53 +0000 (19:33 -0800)
committerDoug Ledford <dledford@redhat.com>
Sun, 11 Dec 2016 20:29:42 +0000 (15:29 -0500)
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>
drivers/infiniband/sw/rdmavt/mr.c

index 562cf78..52fd152 100644 (file)
@@ -793,7 +793,7 @@ int rvt_lkey_ok(struct rvt_lkey_table *rkt, struct rvt_pd *pd,
                mr = rcu_dereference(dev->dma_mr);
                if (!mr)
                        goto bail;
-               atomic_inc(&mr->refcount);
+               rvt_get_mr(mr);
                rcu_read_unlock();
 
                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 ||
                     (mr->access_flags & acc) != acc))
                goto bail;
-       atomic_inc(&mr->refcount);
+       rvt_get_mr(mr);
        rcu_read_unlock();
 
        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);
                if (!mr)
                        goto bail;
-               atomic_inc(&mr->refcount);
+               rvt_get_mr(mr);
                rcu_read_unlock();
 
                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 ||
                     (mr->access_flags & acc) == 0))
                goto bail;
-       atomic_inc(&mr->refcount);
+       rvt_get_mr(mr);
        rcu_read_unlock();
 
        off += mr->offset;