aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/i40iw/i40iw_puda.c
diff options
context:
space:
mode:
authorIvan Barrera <ivan.d.barrera@intel.com>2017-10-16 15:46:04 -0500
committerDoug Ledford <dledford@redhat.com>2017-10-18 13:28:46 -0400
commitf535b56c39c81ba75c714b9163be540d39d3badd (patch)
tree3ecd003c2f0d7a552129c954cd586aca6e415efd /drivers/infiniband/hw/i40iw/i40iw_puda.c
parenti40iw: Clear CQP Head/Tail during initialization (diff)
downloadlinux-dev-f535b56c39c81ba75c714b9163be540d39d3badd.tar.xz
linux-dev-f535b56c39c81ba75c714b9163be540d39d3badd.zip
i40iw: Remove UDA QP from QoS list if creation fails
If User-space Direct Access (UDA) QP creation fails, the QP entry is not removed from QoS list. Fix this by removing QP from QoS list if create QP fails. Fixes: 0fc2dc58896f ("i40iw: Add Quality of Service support") Signed-off-by: Ivan Barrera <ivan.d.barrera@intel.com> Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/i40iw/i40iw_puda.c')
-rw-r--r--drivers/infiniband/hw/i40iw/i40iw_puda.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/i40iw/i40iw_puda.c b/drivers/infiniband/hw/i40iw/i40iw_puda.c
index 19ced8bd64c0..796a815b53fd 100644
--- a/drivers/infiniband/hw/i40iw/i40iw_puda.c
+++ b/drivers/infiniband/hw/i40iw/i40iw_puda.c
@@ -615,8 +615,10 @@ static enum i40iw_status_code i40iw_puda_qp_create(struct i40iw_puda_rsrc *rsrc)
ret = i40iw_cqp_qp_create_cmd(rsrc->dev, qp);
else
ret = i40iw_puda_qp_wqe(rsrc->dev, qp);
- if (ret)
+ if (ret) {
+ i40iw_qp_rem_qos(qp);
i40iw_free_dma_mem(rsrc->dev->hw, &rsrc->qpmem);
+ }
return ret;
}