Skip to content

Commit 4623713

Browse files
Justin Teemartinkpetersen
authored andcommitted
scsi: lpfc: Remove IRQF_ONESHOT flag from threaded IRQ handling
IRQF_ONESHOT is found to mask HBA generated interrupts when thread_fn is running. As a result, some EQEs/CQEs miss timely processing resulting in SCSI layer attempts to abort commands due to io_timeout. Abort CQEs are also not processed leading to the observations of hangs and spam of "0748 abort handler timed out waiting for aborting I/O" log messages. Remove the IRQF_ONESHOT flag. The cmpxchg and xchg atomic operations on lpfc_queue->queue_claimed already protect potential parallel access to an EQ/CQ should the thread_fn get interrupted by the primary irq handler. Signed-off-by: Justin Tee <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
1 parent 4ddf01f commit 4623713

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/scsi/lpfc/lpfc_init.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13055,7 +13055,7 @@ lpfc_sli4_enable_msix(struct lpfc_hba *phba)
1305513055
rc = request_threaded_irq(eqhdl->irq,
1305613056
&lpfc_sli4_hba_intr_handler,
1305713057
&lpfc_sli4_hba_intr_handler_th,
13058-
IRQF_ONESHOT, name, eqhdl);
13058+
0, name, eqhdl);
1305913059
if (rc) {
1306013060
lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
1306113061
"0486 MSI-X fast-path (%d) "

0 commit comments

Comments
 (0)