scsi: qla2xxx: Fix link failure in NPIV environment
authorQuinn Tran <qutran@marvell.com>
Mon, 19 Dec 2022 11:07:39 +0000 (03:07 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 12 Jan 2023 02:28:37 +0000 (21:28 -0500)
User experienced symptoms of adapter failure in NPIV environment. NPIV
hosts were allowed to trigger chip reset back to back due to NPIV link
state being slow to come online.

Fix link failure in NPIV environment by removing NPIV host from directly
being able to perform chip reset.

 kernel: qla2xxx [0000:04:00.1]-6009:261: Loop down - aborting ISP.
 kernel: qla2xxx [0000:04:00.1]-6009:262: Loop down - aborting ISP.
 kernel: qla2xxx [0000:04:00.1]-6009:281: Loop down - aborting ISP.
 kernel: qla2xxx [0000:04:00.1]-6009:285: Loop down - aborting ISP

Fixes: 0d6e61bc6a4f ("[SCSI] qla2xxx: Correct various NPIV issues.")
Cc: stable@vger.kernel.org
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_os.c

index 7fb28c207ee50ec325e8bbd85954ba797d5691cc..36d3cecab20e7060d63b2e66e8b3f2314cbfe3f3 100644 (file)
@@ -7447,7 +7447,7 @@ qla2x00_timer(struct timer_list *t)
 
                /* if the loop has been down for 4 minutes, reinit adapter */
                if (atomic_dec_and_test(&vha->loop_down_timer) != 0) {
-                       if (!(vha->device_flags & DFLG_NO_CABLE)) {
+                       if (!(vha->device_flags & DFLG_NO_CABLE) && !vha->vp_idx) {
                                ql_log(ql_log_warn, vha, 0x6009,
                                    "Loop down - aborting ISP.\n");