Commit b53005d6 authored by Weihang Li's avatar Weihang Li Committed by Jason Gunthorpe

RDMA/pvrdma: Replace spin_lock_irqsave with spin_lock in hard IRQ

There is no need to do irqsave and irqrestore in context of hard IRQ.

Link: https://lore.kernel.org/r/1612514278-49220-1-git-send-email-liweihang@huawei.comSigned-off-by: default avatarWeihang Li <liweihang@huawei.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent d6fd59e1
...@@ -474,7 +474,6 @@ static irqreturn_t pvrdma_intrx_handler(int irq, void *dev_id) ...@@ -474,7 +474,6 @@ static irqreturn_t pvrdma_intrx_handler(int irq, void *dev_id)
int ring_slots = (dev->dsr->cq_ring_pages.num_pages - 1) * PAGE_SIZE / int ring_slots = (dev->dsr->cq_ring_pages.num_pages - 1) * PAGE_SIZE /
sizeof(struct pvrdma_cqne); sizeof(struct pvrdma_cqne);
unsigned int head; unsigned int head;
unsigned long flags;
dev_dbg(&dev->pdev->dev, "interrupt x (completion) handler\n"); dev_dbg(&dev->pdev->dev, "interrupt x (completion) handler\n");
...@@ -483,11 +482,11 @@ static irqreturn_t pvrdma_intrx_handler(int irq, void *dev_id) ...@@ -483,11 +482,11 @@ static irqreturn_t pvrdma_intrx_handler(int irq, void *dev_id)
struct pvrdma_cq *cq; struct pvrdma_cq *cq;
cqne = get_cqne(dev, head); cqne = get_cqne(dev, head);
spin_lock_irqsave(&dev->cq_tbl_lock, flags); spin_lock(&dev->cq_tbl_lock);
cq = dev->cq_tbl[cqne->info % dev->dsr->caps.max_cq]; cq = dev->cq_tbl[cqne->info % dev->dsr->caps.max_cq];
if (cq) if (cq)
refcount_inc(&cq->refcnt); refcount_inc(&cq->refcnt);
spin_unlock_irqrestore(&dev->cq_tbl_lock, flags); spin_unlock(&dev->cq_tbl_lock);
if (cq && cq->ibcq.comp_handler) if (cq && cq->ibcq.comp_handler)
cq->ibcq.comp_handler(&cq->ibcq, cq->ibcq.cq_context); cq->ibcq.comp_handler(&cq->ibcq, cq->ibcq.cq_context);
......
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