int nent;
int ret;
+ /* Sanity check CQ size before proceeding */
+ if (*p_cqe > 131072)
+ goto exit;
+
cq = cl_malloc(sizeof *cq);
if (!cq)
goto exit;
; /* nothing */
if (posix_memalign(&cq->buf, g_page_size,
- align(nent * MTHCA_CQ_ENTRY_SIZE, g_page_size)))
+ align(nent * MTHCA_CQ_ENTRY_SIZE, g_page_size)))
goto err;
mthca_init_cq_buf(cq, nent);
err_arm_db:
if (mthca_is_memfree(context))
mthca_free_db(to_mctx(context)->db_tab, MTHCA_DB_TYPE_CQ_SET_CI,
- cq->arm_db_index);
+ cq->arm_db_index);
err_set_db:
if (mthca_is_memfree(context))
mthca_free_db(to_mctx(context)->db_tab, MTHCA_DB_TYPE_CQ_SET_CI,
- cq->set_ci_db_index);
+ cq->set_ci_db_index);
err_unreg:
cl_free(cq->buf);