Commit 5fdff18b authored by Michal Kalderon's avatar Michal Kalderon Committed by Jason Gunthorpe

RDMA/qedr: Fix qpids xarray api used

The qpids xarray isn't accessed from irq context and therefore there
is no need to use the xa_XXX_irq version of the apis.
Remove the _irq.

Fixes: b6014f9e ("qedr: Convert qpidr to XArray")
Link: https://lore.kernel.org/r/20191027200451.28187-3-michal.kalderon@marvell.comSigned-off-by: default avatarAriel Elior <ariel.elior@marvell.com>
Signed-off-by: default avatarMichal Kalderon <michal.kalderon@marvell.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 73ab512f
...@@ -360,7 +360,7 @@ static int qedr_alloc_resources(struct qedr_dev *dev) ...@@ -360,7 +360,7 @@ static int qedr_alloc_resources(struct qedr_dev *dev)
xa_init_flags(&dev->srqs, XA_FLAGS_LOCK_IRQ); xa_init_flags(&dev->srqs, XA_FLAGS_LOCK_IRQ);
if (IS_IWARP(dev)) { if (IS_IWARP(dev)) {
xa_init_flags(&dev->qps, XA_FLAGS_LOCK_IRQ); xa_init(&dev->qps);
dev->iwarp_wq = create_singlethread_workqueue("qedr_iwarpq"); dev->iwarp_wq = create_singlethread_workqueue("qedr_iwarpq");
} }
......
...@@ -739,7 +739,7 @@ void qedr_iw_qp_rem_ref(struct ib_qp *ibqp) ...@@ -739,7 +739,7 @@ void qedr_iw_qp_rem_ref(struct ib_qp *ibqp)
struct qedr_qp *qp = get_qedr_qp(ibqp); struct qedr_qp *qp = get_qedr_qp(ibqp);
if (atomic_dec_and_test(&qp->refcnt)) { if (atomic_dec_and_test(&qp->refcnt)) {
xa_erase_irq(&qp->dev->qps, qp->qp_id); xa_erase(&qp->dev->qps, qp->qp_id);
kfree(qp); kfree(qp);
} }
} }
......
...@@ -1918,7 +1918,7 @@ struct ib_qp *qedr_create_qp(struct ib_pd *ibpd, ...@@ -1918,7 +1918,7 @@ struct ib_qp *qedr_create_qp(struct ib_pd *ibpd,
qp->ibqp.qp_num = qp->qp_id; qp->ibqp.qp_num = qp->qp_id;
if (rdma_protocol_iwarp(&dev->ibdev, 1)) { if (rdma_protocol_iwarp(&dev->ibdev, 1)) {
rc = xa_insert_irq(&dev->qps, qp->qp_id, qp, GFP_KERNEL); rc = xa_insert(&dev->qps, qp->qp_id, qp, GFP_KERNEL);
if (rc) if (rc)
goto err; goto err;
} }
...@@ -2492,7 +2492,7 @@ int qedr_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata) ...@@ -2492,7 +2492,7 @@ int qedr_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata)
if (atomic_dec_and_test(&qp->refcnt) && if (atomic_dec_and_test(&qp->refcnt) &&
rdma_protocol_iwarp(&dev->ibdev, 1)) { rdma_protocol_iwarp(&dev->ibdev, 1)) {
xa_erase_irq(&dev->qps, qp->qp_id); xa_erase(&dev->qps, qp->qp_id);
kfree(qp); kfree(qp);
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment