diff options
Diffstat (limited to 'drivers/infiniband/hw/cxgb4/resource.c')
| -rw-r--r-- | drivers/infiniband/hw/cxgb4/resource.c | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/drivers/infiniband/hw/cxgb4/resource.c b/drivers/infiniband/hw/cxgb4/resource.c index cdef4d7fb6d8..67df71a7012e 100644 --- a/drivers/infiniband/hw/cxgb4/resource.c +++ b/drivers/infiniband/hw/cxgb4/resource.c @@ -179,8 +179,12 @@ u32 c4iw_get_qpid(struct c4iw_rdev *rdev, struct c4iw_dev_ucontext *uctx)  		kfree(entry);  	} else {  		qid = c4iw_get_resource(&rdev->resource.qid_table); -		if (!qid) +		if (!qid) { +			mutex_lock(&rdev->stats.lock); +			rdev->stats.qid.fail++; +			mutex_unlock(&rdev->stats.lock);  			goto out; +		}  		mutex_lock(&rdev->stats.lock);  		rdev->stats.qid.cur += rdev->qpmask + 1;  		mutex_unlock(&rdev->stats.lock); @@ -322,8 +326,8 @@ u32 c4iw_rqtpool_alloc(struct c4iw_rdev *rdev, int size)  	unsigned long addr = gen_pool_alloc(rdev->rqt_pool, size << 6);  	PDBG("%s addr 0x%x size %d\n", __func__, (u32)addr, size << 6);  	if (!addr) -		printk_ratelimited(KERN_WARNING MOD "%s: Out of RQT memory\n", -		       pci_name(rdev->lldi.pdev)); +		pr_warn_ratelimited(MOD "%s: Out of RQT memory\n", +				    pci_name(rdev->lldi.pdev));  	mutex_lock(&rdev->stats.lock);  	if (addr) {  		rdev->stats.rqt.cur += roundup(size << 6, 1 << MIN_RQT_SHIFT); | 

