aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/nes/nes_verbs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/hw/nes/nes_verbs.c')
-rw-r--r--drivers/infiniband/hw/nes/nes_verbs.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c
index cd0ecb215cc..07e4fbad987 100644
--- a/drivers/infiniband/hw/nes/nes_verbs.c
+++ b/drivers/infiniband/hw/nes/nes_verbs.c
@@ -1404,6 +1404,9 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd,
1404 } 1404 }
1405 1405
1406 nesqp->sig_all = (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR); 1406 nesqp->sig_all = (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR);
1407 init_timer(&nesqp->terminate_timer);
1408 nesqp->terminate_timer.function = nes_terminate_timeout;
1409 nesqp->terminate_timer.data = (unsigned long)nesqp;
1407 1410
1408 /* update the QP table */ 1411 /* update the QP table */
1409 nesdev->nesadapter->qp_table[nesqp->hwqp.qp_id-NES_FIRST_QPN] = nesqp; 1412 nesdev->nesadapter->qp_table[nesqp->hwqp.qp_id-NES_FIRST_QPN] = nesqp;
@@ -1413,7 +1416,6 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd,
1413 return &nesqp->ibqp; 1416 return &nesqp->ibqp;
1414} 1417}
1415 1418
1416
1417/** 1419/**
1418 * nes_clean_cq 1420 * nes_clean_cq
1419 */ 1421 */
@@ -2559,6 +2561,11 @@ static struct ib_mr *nes_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
2559 return ibmr; 2561 return ibmr;
2560 case IWNES_MEMREG_TYPE_QP: 2562 case IWNES_MEMREG_TYPE_QP:
2561 case IWNES_MEMREG_TYPE_CQ: 2563 case IWNES_MEMREG_TYPE_CQ:
2564 if (!region->length) {
2565 nes_debug(NES_DBG_MR, "Unable to register zero length region for CQ\n");
2566 ib_umem_release(region);
2567 return ERR_PTR(-EINVAL);
2568 }
2562 nespbl = kzalloc(sizeof(*nespbl), GFP_KERNEL); 2569 nespbl = kzalloc(sizeof(*nespbl), GFP_KERNEL);
2563 if (!nespbl) { 2570 if (!nespbl) {
2564 nes_debug(NES_DBG_MR, "Unable to allocate PBL\n"); 2571 nes_debug(NES_DBG_MR, "Unable to allocate PBL\n");