This is a note to let you know that I've just added the patch titled scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error injection to the 5.18-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-qla2xxx-fix-erroneous-mailbox-timeout-after-pci-error-injection.patch and it can be found in the queue-5.18 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From f260694e6463b63ae550aad25ddefe94cb1904da Mon Sep 17 00:00:00 2001 From: Quinn Tran <qutran@xxxxxxxxxxx> Date: Wed, 15 Jun 2022 22:35:07 -0700 Subject: scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error injection From: Quinn Tran <qutran@xxxxxxxxxxx> commit f260694e6463b63ae550aad25ddefe94cb1904da upstream. Clear wait for mailbox interrupt flag to prevent stale mailbox: Feb 22 05:22:56 ltcden4-lp7 kernel: qla2xxx [0135:90:00.1]-500a:4: LOOP UP detected (16 Gbps). Feb 22 05:22:59 ltcden4-lp7 kernel: qla2xxx [0135:90:00.1]-d04c:4: MBX Command timeout for cmd 69, ... To fix the issue, driver needs to clear the MBX_INTR_WAIT flag on purging the mailbox. When the stale mailbox completion does arrive, it will be dropped. Link: https://lore.kernel.org/r/20220616053508.27186-11-njavali@xxxxxxxxxxx Fixes: b6faaaf796d7 ("scsi: qla2xxx: Serialize mailbox request") Cc: Naresh Bannoth <nbannoth@xxxxxxxxxx> Cc: Kyle Mahlkuch <Kyle.Mahlkuch@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reported-by: Naresh Bannoth <nbannoth@xxxxxxxxxx> Tested-by: Naresh Bannoth <nbannoth@xxxxxxxxxx> Signed-off-by: Quinn Tran <qutran@xxxxxxxxxxx> Signed-off-by: Nilesh Javali <njavali@xxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/scsi/qla2xxx/qla_mbx.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c @@ -276,6 +276,12 @@ qla2x00_mailbox_command(scsi_qla_host_t atomic_inc(&ha->num_pend_mbx_stage3); if (!wait_for_completion_timeout(&ha->mbx_intr_comp, mcp->tov * HZ)) { + ql_dbg(ql_dbg_mbx, vha, 0x117a, + "cmd=%x Timeout.\n", command); + spin_lock_irqsave(&ha->hardware_lock, flags); + clear_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags); + spin_unlock_irqrestore(&ha->hardware_lock, flags); + if (chip_reset != ha->chip_reset) { eeh_delay = ha->flags.eeh_busy ? 1 : 0; @@ -288,12 +294,6 @@ qla2x00_mailbox_command(scsi_qla_host_t rval = QLA_ABORTED; goto premature_exit; } - ql_dbg(ql_dbg_mbx, vha, 0x117a, - "cmd=%x Timeout.\n", command); - spin_lock_irqsave(&ha->hardware_lock, flags); - clear_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags); - spin_unlock_irqrestore(&ha->hardware_lock, flags); - } else if (ha->flags.purge_mbox || chip_reset != ha->chip_reset) { eeh_delay = ha->flags.eeh_busy ? 1 : 0; Patches currently in stable-queue which might be from qutran@xxxxxxxxxxx are queue-5.18/scsi-qla2xxx-edif-synchronize-npiv-deletion-with-aut.patch queue-5.18/scsi-qla2xxx-fix-erroneous-mailbox-timeout-after-pci-error-injection.patch queue-5.18/scsi-qla2xxx-edif-add-bsg-interface-to-read-doorbell.patch queue-5.18/scsi-qla2xxx-edif-fix-no-logout-on-delete-for-n2n.patch queue-5.18/scsi-qla2xxx-edif-reduce-disruption-due-to-multiple-.patch queue-5.18/scsi-qla2xxx-edif-reduce-initiator-initiator-thrashi.patch queue-5.18/scsi-qla2xxx-edif-tear-down-session-if-keys-have-bee.patch queue-5.18/scsi-qla2xxx-edif-fix-no-login-after-app-start.patch queue-5.18/scsi-qla2xxx-edif-fix-n2n-login-retry-for-secure-dev.patch queue-5.18/scsi-qla2xxx-edif-fix-potential-stuck-session-in-sa-.patch queue-5.18/scsi-qla2xxx-edif-fix-session-thrash.patch queue-5.18/scsi-qla2xxx-edif-fix-n2n-discovery-issue-with-secur.patch queue-5.18/scsi-qla2xxx-zero-undefined-mailbox-in-registers.patch queue-5.18/scsi-qla2xxx-fix-imbalance-vha-vref_count.patch queue-5.18/scsi-qla2xxx-edif-bsg-refactor.patch queue-5.18/scsi-qla2xxx-wind-down-adapter-after-pcie-error.patch queue-5.18/scsi-qla2xxx-edif-reduce-n2n-thrashing-at-app_start-.patch queue-5.18/scsi-qla2xxx-edif-send-logo-for-unexpected-ike-messa.patch queue-5.18/scsi-qla2xxx-edif-add-retry-for-els-passthrough.patch queue-5.18/scsi-qla2xxx-turn-off-multi-queue-for-8g-adapters.patch queue-5.18/scsi-qla2xxx-edif-wait-for-app-to-ack-on-sess-down.patch