IB/rdmavt: Move reset calldown to reset path
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Tue, 6 Sep 2016 11:37:07 +0000 (04:37 -0700)
committerDoug Ledford <dledford@redhat.com>
Sun, 2 Oct 2016 12:42:09 +0000 (08:42 -0400)
The reset calldown is misplaced.

It should only be called in the code that actually
transitions the QP to reset.

Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/sw/rdmavt/qp.c

index 80d2c50f96a3d68d80c69f4489b2d9a07e1e86d2..0a2981559c88807ef82f6f3ddc0f3792dafff5d9 100644 (file)
@@ -530,14 +530,13 @@ static void rvt_reset_qp(struct rvt_dev_info *rdi, struct rvt_qp *qp,
                spin_lock(&qp->s_lock);
 
                rvt_clear_mr_refs(qp, 1);
+               /*
+                * Let the driver do any tear down it needs to for a qp
+                * that has been reset
+                */
+               rdi->driver_f.notify_qp_reset(qp);
        }
 
-       /*
-        * Let the driver do any tear down it needs to for a qp
-        * that has been reset
-        */
-       rdi->driver_f.notify_qp_reset(qp);
-
        qp->remote_qpn = 0;
        qp->qkey = 0;
        qp->qp_access_flags = 0;