 err_free: kfree(cq);  err_unmap_arm: if (context) mthca_unmap_user_db(to_mdev(ibdev), &to_mucontext(context)->uar, to_mucontext(context)->db_tab, ucmd.arm_db_index);  err_unmap_set: if (context) mthca_unmap_user_db(to_mdev(ibdev), &to_mucontext(context)->uar, to_mucontext(context)->db_tab, ucmd.set_db_index);  return ERR_PTR(err); 
static struct ib_cq *mthca_create_cq(struct ib_device *ibdev, int entries,				     struct ib_ucontext *context,				     struct ib_udata *udata){	struct mthca_cq *cq;	int nent;	int err;	cq = kmalloc(sizeof *cq, GFP_KERNEL);	if (!cq)		return ERR_PTR(-ENOMEM);	for (nent = 1; nent <= entries; nent <<= 1)		; /* nothing */	err = mthca_init_cq(to_mdev(ibdev), nent, cq);	if (err) {		kfree(cq);		cq = ERR_PTR(err);	}	return &cq->ibcq;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/74c2174e7be52f9d2d210511bf3b490f4b41574c/mthca_provider.c/clean/drivers/infiniband/hw/mthca/mthca_provider.c