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) | |||
179 | kfree(entry); | 179 | kfree(entry); |
180 | } else { | 180 | } else { |
181 | qid = c4iw_get_resource(&rdev->resource.qid_table); | 181 | qid = c4iw_get_resource(&rdev->resource.qid_table); |
182 | if (!qid) | 182 | if (!qid) { |
183 | mutex_lock(&rdev->stats.lock); | ||
184 | rdev->stats.qid.fail++; | ||
185 | mutex_unlock(&rdev->stats.lock); | ||
183 | goto out; | 186 | goto out; |
187 | } | ||
184 | mutex_lock(&rdev->stats.lock); | 188 | mutex_lock(&rdev->stats.lock); |
185 | rdev->stats.qid.cur += rdev->qpmask + 1; | 189 | rdev->stats.qid.cur += rdev->qpmask + 1; |
186 | mutex_unlock(&rdev->stats.lock); | 190 | mutex_unlock(&rdev->stats.lock); |
@@ -322,8 +326,8 @@ u32 c4iw_rqtpool_alloc(struct c4iw_rdev *rdev, int size) | |||
322 | unsigned long addr = gen_pool_alloc(rdev->rqt_pool, size << 6); | 326 | unsigned long addr = gen_pool_alloc(rdev->rqt_pool, size << 6); |
323 | PDBG("%s addr 0x%x size %d\n", __func__, (u32)addr, size << 6); | 327 | PDBG("%s addr 0x%x size %d\n", __func__, (u32)addr, size << 6); |
324 | if (!addr) | 328 | if (!addr) |
325 | printk_ratelimited(KERN_WARNING MOD "%s: Out of RQT memory\n", | 329 | pr_warn_ratelimited(MOD "%s: Out of RQT memory\n", |
326 | pci_name(rdev->lldi.pdev)); | 330 | pci_name(rdev->lldi.pdev)); |
327 | mutex_lock(&rdev->stats.lock); | 331 | mutex_lock(&rdev->stats.lock); |
328 | if (addr) { | 332 | if (addr) { |
329 | rdev->stats.rqt.cur += roundup(size << 6, 1 << MIN_RQT_SHIFT); | 333 | rdev->stats.rqt.cur += roundup(size << 6, 1 << MIN_RQT_SHIFT); |