mirror of
https://github.com/torvalds/linux.git
synced 2024-12-17 16:43:08 +00:00
qlge: Get rid of irqsave/restore in intr disable.
The completion interrupt disable routine is only called from the ISR, so there is no need for irqsave/restore. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c9cf0a04a0
commit
08b1bc8f4a
@ -587,7 +587,6 @@ u32 ql_enable_completion_interrupt(struct ql_adapter *qdev, u32 intr)
|
|||||||
static u32 ql_disable_completion_interrupt(struct ql_adapter *qdev, u32 intr)
|
static u32 ql_disable_completion_interrupt(struct ql_adapter *qdev, u32 intr)
|
||||||
{
|
{
|
||||||
u32 var = 0;
|
u32 var = 0;
|
||||||
unsigned long hw_flags;
|
|
||||||
struct intr_context *ctx;
|
struct intr_context *ctx;
|
||||||
|
|
||||||
/* HW disables for us if we're MSIX multi interrupts and
|
/* HW disables for us if we're MSIX multi interrupts and
|
||||||
@ -597,14 +596,14 @@ static u32 ql_disable_completion_interrupt(struct ql_adapter *qdev, u32 intr)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
ctx = qdev->intr_context + intr;
|
ctx = qdev->intr_context + intr;
|
||||||
spin_lock_irqsave(&qdev->hw_lock, hw_flags);
|
spin_lock(&qdev->hw_lock);
|
||||||
if (!atomic_read(&ctx->irq_cnt)) {
|
if (!atomic_read(&ctx->irq_cnt)) {
|
||||||
ql_write32(qdev, INTR_EN,
|
ql_write32(qdev, INTR_EN,
|
||||||
ctx->intr_dis_mask);
|
ctx->intr_dis_mask);
|
||||||
var = ql_read32(qdev, STS);
|
var = ql_read32(qdev, STS);
|
||||||
}
|
}
|
||||||
atomic_inc(&ctx->irq_cnt);
|
atomic_inc(&ctx->irq_cnt);
|
||||||
spin_unlock_irqrestore(&qdev->hw_lock, hw_flags);
|
spin_unlock(&qdev->hw_lock);
|
||||||
return var;
|
return var;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user