Skip to content

Commit b3a8aa9

Browse files
Sebastian Andrzej Siewiormartinkpetersen
authored andcommitted
scsi: qla2xxx: remove irq save in qla2x00_poll()
In commit d2ba567 ("[SCSI] qla2xxx: Disable local-interrupts while polling for RISC status.") added a local_irq_disable() before invoking the ->intr_handler callback. The function, which was used in this callback, did not disable interrupts while acquiring the spin_lock so a deadlock was possible and this change was one possible solution. The function in question was qla2300_intr_handler() and is using spin_lock_irqsave() since commit 43fac4d ("[SCSI] qla2xxx: Resolve a performance issue in interrupt"). I checked all other ->intr_handler callbacks and all of them use the irqsave variant so it is safe to remove the local_irq_save() block now. Cc: qla2xxx-upstream@qlogic.com Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Acked-by: Himanshu Madhani <himanshu.madhani@cavium.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent 91ebc1f commit b3a8aa9

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

drivers/scsi/qla2xxx/qla_inline.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,12 @@ qla2x00_debounce_register(volatile uint16_t __iomem *addr)
5858
static inline void
5959
qla2x00_poll(struct rsp_que *rsp)
6060
{
61-
unsigned long flags;
6261
struct qla_hw_data *ha = rsp->hw;
63-
local_irq_save(flags);
62+
6463
if (IS_P3P_TYPE(ha))
6564
qla82xx_poll(0, rsp);
6665
else
6766
ha->isp_ops->intr_handler(0, rsp);
68-
local_irq_restore(flags);
6967
}
7068

7169
static inline uint8_t *

0 commit comments

Comments
 (0)