Skip to content

Commit

Permalink
cciss: cleanup interrupt_not_for_us
Browse files Browse the repository at this point in the history
cciss: cleanup interrupt_not_for_us
In the case of MSI/MSIX interrutps, we don't need to check
if the interrupt is for us, and in the case of the intx interrupt
handler, when checking if the interrupt is for us, we don't need
to check if we're using MSI/MSIX, we know we're not.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
  • Loading branch information
Stephen M. Cameron authored and Jens Axboe committed Aug 7, 2010
1 parent b2a4a43 commit 8112586
Showing 1 changed file with 1 addition and 14 deletions.
15 changes: 1 addition & 14 deletions drivers/block/cciss.c
Original file line number Diff line number Diff line change
Expand Up @@ -3376,8 +3376,7 @@ static inline int interrupt_pending(ctlr_info_t *h)

static inline long interrupt_not_for_us(ctlr_info_t *h)
{
return !(h->msi_vector || h->msix_vector) &&
((h->access.intr_pending(h) == 0) ||
return ((h->access.intr_pending(h) == 0) ||
(h->interrupts_enabled == 0));
}

Expand Down Expand Up @@ -3470,10 +3469,6 @@ static irqreturn_t do_cciss_intx(int irq, void *dev_id)

if (interrupt_not_for_us(h))
return IRQ_NONE;
/*
* If there are completed commands in the completion queue,
* we had better do something about it.
*/
spin_lock_irqsave(&h->lock, flags);
while (interrupt_pending(h)) {
raw_tag = get_next_completion(h);
Expand All @@ -3484,7 +3479,6 @@ static irqreturn_t do_cciss_intx(int irq, void *dev_id)
raw_tag = process_nonindexed_cmd(h, raw_tag);
}
}

spin_unlock_irqrestore(&h->lock, flags);
return IRQ_HANDLED;
}
Expand All @@ -3498,12 +3492,6 @@ static irqreturn_t do_cciss_msix_intr(int irq, void *dev_id)
unsigned long flags;
u32 raw_tag;

if (interrupt_not_for_us(h))
return IRQ_NONE;
/*
* If there are completed commands in the completion queue,
* we had better do something about it.
*/
spin_lock_irqsave(&h->lock, flags);
raw_tag = get_next_completion(h);
while (raw_tag != FIFO_EMPTY) {
Expand All @@ -3512,7 +3500,6 @@ static irqreturn_t do_cciss_msix_intr(int irq, void *dev_id)
else
raw_tag = process_nonindexed_cmd(h, raw_tag);
}

spin_unlock_irqrestore(&h->lock, flags);
return IRQ_HANDLED;
}
Expand Down

0 comments on commit 8112586

Please sign in to comment.