RDMA/qedr: Fix qpids xarray api used
authorMichal Kalderon <michal.kalderon@marvell.com>
Sun, 27 Oct 2019 20:04:49 +0000 (22:04 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 7 Jun 2020 11:18:49 +0000 (13:18 +0200)
[ Upstream commit 5fdff18b4dc64e2d1e912ad2b90495cd487f791b ]

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: b6014f9e5f39 ("qedr: Convert qpidr to XArray")
Link: https://lore.kernel.org/r/20191027200451.28187-3-michal.kalderon@marvell.com
Signed-off-by: Ariel Elior <ariel.elior@marvell.com>
Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/qedr/main.c
drivers/infiniband/hw/qedr/qedr_iw_cm.c
drivers/infiniband/hw/qedr/verbs.c

index b462eaca1ee3c3ee49a3e5f9b4e7bbe6b1796eb9..4494dab8c3d8385bae7a1dd303e2388da94bb330 100644 (file)
@@ -360,7 +360,7 @@ static int qedr_alloc_resources(struct qedr_dev *dev)
        xa_init_flags(&dev->srqs, XA_FLAGS_LOCK_IRQ);
 
        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");
        }
 
index 22881d4442b91d6f3da4ae7667843ec092e9165e..7fea74739c1f1e6374f577d24d8a1a54fbd2ac4f 100644 (file)
@@ -739,7 +739,7 @@ void qedr_iw_qp_rem_ref(struct ib_qp *ibqp)
        struct qedr_qp *qp = get_qedr_qp(ibqp);
 
        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);
        }
 }
index a7ccca3c4f894b6da14c71c45395ff003f0e5ce4..062165935441f76a58c4b4847239b073841eaf5a 100644 (file)
@@ -1926,7 +1926,7 @@ struct ib_qp *qedr_create_qp(struct ib_pd *ibpd,
        qp->ibqp.qp_num = qp->qp_id;
 
        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)
                        goto err;
        }
@@ -2500,7 +2500,7 @@ int qedr_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata)
 
        if (atomic_dec_and_test(&qp->refcnt) &&
            rdma_protocol_iwarp(&dev->ibdev, 1)) {
-               xa_erase_irq(&dev->qps, qp->qp_id);
+               xa_erase(&dev->qps, qp->qp_id);
                kfree(qp);
        }
        return 0;