mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-24 21:24:00 +08:00
advansys: use spin_lock_irqsave() in interrupt handler
We should be using spin_lock_irqsave() when within the interrupt handler. Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
This commit is contained in:
parent
2207063443
commit
00742c9164
@ -7242,9 +7242,10 @@ static irqreturn_t advansys_interrupt(int irq, void *dev_id)
|
|||||||
struct Scsi_Host *shost = dev_id;
|
struct Scsi_Host *shost = dev_id;
|
||||||
struct asc_board *boardp = shost_priv(shost);
|
struct asc_board *boardp = shost_priv(shost);
|
||||||
irqreturn_t result = IRQ_NONE;
|
irqreturn_t result = IRQ_NONE;
|
||||||
|
unsigned long flags;
|
||||||
|
|
||||||
ASC_DBG(2, "boardp 0x%p\n", boardp);
|
ASC_DBG(2, "boardp 0x%p\n", boardp);
|
||||||
spin_lock(shost->host_lock);
|
spin_lock_irqsave(shost->host_lock, flags);
|
||||||
if (ASC_NARROW_BOARD(boardp)) {
|
if (ASC_NARROW_BOARD(boardp)) {
|
||||||
if (AscIsIntPending(shost->io_port)) {
|
if (AscIsIntPending(shost->io_port)) {
|
||||||
result = IRQ_HANDLED;
|
result = IRQ_HANDLED;
|
||||||
@ -7259,7 +7260,7 @@ static irqreturn_t advansys_interrupt(int irq, void *dev_id)
|
|||||||
ASC_STATS(shost, interrupt);
|
ASC_STATS(shost, interrupt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
spin_unlock(shost->host_lock);
|
spin_unlock_irqrestore(shost->host_lock, flags);
|
||||||
|
|
||||||
ASC_DBG(1, "end\n");
|
ASC_DBG(1, "end\n");
|
||||||
return result;
|
return result;
|
||||||
|
Loading…
Reference in New Issue
Block a user