diff options
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/pm8001/pm8001_hwi.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/pm8001/pm8001_hwi.c b/drivers/scsi/pm8001/pm8001_hwi.c index 871d1c3fa01b..dc28ae186450 100644 --- a/drivers/scsi/pm8001/pm8001_hwi.c +++ b/drivers/scsi/pm8001/pm8001_hwi.c | |||
@@ -3869,7 +3869,9 @@ static int process_oq(struct pm8001_hba_info *pm8001_ha) | |||
3869 | void *pMsg1 = NULL; | 3869 | void *pMsg1 = NULL; |
3870 | u8 bc = 0; | 3870 | u8 bc = 0; |
3871 | u32 ret = MPI_IO_STATUS_FAIL; | 3871 | u32 ret = MPI_IO_STATUS_FAIL; |
3872 | unsigned long flags; | ||
3872 | 3873 | ||
3874 | spin_lock_irqsave(&pm8001_ha->lock, flags); | ||
3873 | circularQ = &pm8001_ha->outbnd_q_tbl[0]; | 3875 | circularQ = &pm8001_ha->outbnd_q_tbl[0]; |
3874 | do { | 3876 | do { |
3875 | ret = mpi_msg_consume(pm8001_ha, circularQ, &pMsg1, &bc); | 3877 | ret = mpi_msg_consume(pm8001_ha, circularQ, &pMsg1, &bc); |
@@ -3890,6 +3892,7 @@ static int process_oq(struct pm8001_hba_info *pm8001_ha) | |||
3890 | break; | 3892 | break; |
3891 | } | 3893 | } |
3892 | } while (1); | 3894 | } while (1); |
3895 | spin_unlock_irqrestore(&pm8001_ha->lock, flags); | ||
3893 | return ret; | 3896 | return ret; |
3894 | } | 3897 | } |
3895 | 3898 | ||
@@ -4295,12 +4298,9 @@ static u32 pm8001_chip_is_our_interupt(struct pm8001_hba_info *pm8001_ha) | |||
4295 | static irqreturn_t | 4298 | static irqreturn_t |
4296 | pm8001_chip_isr(struct pm8001_hba_info *pm8001_ha) | 4299 | pm8001_chip_isr(struct pm8001_hba_info *pm8001_ha) |
4297 | { | 4300 | { |
4298 | unsigned long flags; | ||
4299 | spin_lock_irqsave(&pm8001_ha->lock, flags); | ||
4300 | pm8001_chip_interrupt_disable(pm8001_ha); | 4301 | pm8001_chip_interrupt_disable(pm8001_ha); |
4301 | process_oq(pm8001_ha); | 4302 | process_oq(pm8001_ha); |
4302 | pm8001_chip_interrupt_enable(pm8001_ha); | 4303 | pm8001_chip_interrupt_enable(pm8001_ha); |
4303 | spin_unlock_irqrestore(&pm8001_ha->lock, flags); | ||
4304 | return IRQ_HANDLED; | 4304 | return IRQ_HANDLED; |
4305 | } | 4305 | } |
4306 | 4306 | ||