@@ -36,14 +36,13 @@ static irqreturn_t a3000_intr(int irq, void *data)
struct Scsi_Host *instance = data;
struct a3000_hostdata *hdata = shost_priv(instance);
unsigned int status = hdata->regs->ISTR;
- unsigned long flags;
if (!(status & ISTR_INT_P))
return IRQ_NONE;
if (status & ISTR_INTS) {
- spin_lock_irqsave(instance->host_lock, flags);
+ spin_lock(instance->host_lock);
wd33c93_intr(instance);
- spin_unlock_irqrestore(instance->host_lock, flags);
+ spin_unlock(instance->host_lock);
return IRQ_HANDLED;
}
pr_warn("Non-serviced A3000 SCSI-interrupt? ISTR = %02x\n", status);
it is unnecessary to call spin_lock_irqsave in a interrupt handler. Signed-off-by: Tuo Cao <91tuocao@gmail.com> --- drivers/scsi/a3000.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)