Patch "scsi: lpfc: Remove IRQF_ONESHOT flag from threaded IRQ handling" has been added to the 6.8-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    scsi: lpfc: Remove IRQF_ONESHOT flag from threaded IRQ handling

to the 6.8-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     scsi-lpfc-remove-irqf_oneshot-flag-from-threaded-irq.patch
and it can be found in the queue-6.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit fecee343dbeec1df62b1d9ed66d75926ba85f212
Author: Justin Tee <justin.tee@xxxxxxxxxxxx>
Date:   Tue Mar 5 12:04:54 2024 -0800

    scsi: lpfc: Remove IRQF_ONESHOT flag from threaded IRQ handling
    
    [ Upstream commit 4623713e7ade46bfc63a3eade836f566ccbcd771 ]
    
    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 <justin.tee@xxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20240305200503.57317-4-justintee8345@xxxxxxxxx
    Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 70bcee64bc8c6..7820a1a7aa6d1 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -13047,7 +13047,7 @@ lpfc_sli4_enable_msix(struct lpfc_hba *phba)
 		rc = request_threaded_irq(eqhdl->irq,
 					  &lpfc_sli4_hba_intr_handler,
 					  &lpfc_sli4_hba_intr_handler_th,
-					  IRQF_ONESHOT, name, eqhdl);
+					  0, name, eqhdl);
 		if (rc) {
 			lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
 					"0486 MSI-X fast-path (%d) "




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux