aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/hw/nes/nes_cm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c
index 114b802771ad..fe08eb57c99f 100644
--- a/drivers/infiniband/hw/nes/nes_cm.c
+++ b/drivers/infiniband/hw/nes/nes_cm.c
@@ -2456,6 +2456,7 @@ int nes_cm_disconn(struct nes_qp *nesqp)
2456 if (nesqp->disconn_pending == 0) { 2456 if (nesqp->disconn_pending == 0) {
2457 nesqp->disconn_pending++; 2457 nesqp->disconn_pending++;
2458 spin_unlock_irqrestore(&nesqp->lock, flags); 2458 spin_unlock_irqrestore(&nesqp->lock, flags);
2459 nes_add_ref(&nesqp->ibqp);
2459 /* init our disconnect work element, to */ 2460 /* init our disconnect work element, to */
2460 INIT_WORK(&nesqp->disconn_work, nes_disconnect_worker); 2461 INIT_WORK(&nesqp->disconn_work, nes_disconnect_worker);
2461 2462
@@ -2477,6 +2478,7 @@ static void nes_disconnect_worker(struct work_struct *work)
2477 nes_debug(NES_DBG_CM, "processing AEQE id 0x%04X for QP%u.\n", 2478 nes_debug(NES_DBG_CM, "processing AEQE id 0x%04X for QP%u.\n",
2478 nesqp->last_aeq, nesqp->hwqp.qp_id); 2479 nesqp->last_aeq, nesqp->hwqp.qp_id);
2479 nes_cm_disconn_true(nesqp); 2480 nes_cm_disconn_true(nesqp);
2481 nes_rem_ref(&nesqp->ibqp);
2480} 2482}
2481 2483
2482 2484