| From ca98543143f76f7c7e37be5769107c671a7ad4d5 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 15 Apr 2021 20:44:22 +0530 |
| Subject: RDMA/cxgb4: add missing qpid increment |
| |
| From: Potnuri Bharat Teja <bharat@chelsio.com> |
| |
| [ Upstream commit 3a6684385928d00b29acac7658a5ae1f2a44494c ] |
| |
| missing qpid increment leads to skipping few qpids while allocating QP. |
| This eventually leads to adapter running out of qpids after establishing |
| fewer connections than it actually supports. |
| Current patch increments the qpid correctly. |
| |
| Fixes: cfdda9d76436 ("RDMA/cxgb4: Add driver for Chelsio T4 RNIC") |
| Link: https://lore.kernel.org/r/20210415151422.9139-1-bharat@chelsio.com |
| Signed-off-by: Potnuri Bharat Teja <bharat@chelsio.com> |
| Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/infiniband/hw/cxgb4/resource.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/infiniband/hw/cxgb4/resource.c b/drivers/infiniband/hw/cxgb4/resource.c |
| index 5c95c789f302..e800e8e8bed5 100644 |
| --- a/drivers/infiniband/hw/cxgb4/resource.c |
| +++ b/drivers/infiniband/hw/cxgb4/resource.c |
| @@ -216,7 +216,7 @@ u32 c4iw_get_qpid(struct c4iw_rdev *rdev, struct c4iw_dev_ucontext *uctx) |
| goto out; |
| entry->qid = qid; |
| list_add_tail(&entry->entry, &uctx->cqids); |
| - for (i = qid; i & rdev->qpmask; i++) { |
| + for (i = qid + 1; i & rdev->qpmask; i++) { |
| entry = kmalloc(sizeof(*entry), GFP_KERNEL); |
| if (!entry) |
| goto out; |
| -- |
| 2.30.2 |
| |