|
|
3d7c23 |
From 17242a26bc003e758edf605dc5112ef571de4d27 Mon Sep 17 00:00:00 2001
|
|
|
3d7c23 |
From: Himanshu Madhani <hmadhani@redhat.com>
|
|
|
3d7c23 |
Date: Thu, 1 Aug 2019 15:54:36 -0400
|
|
|
3d7c23 |
Subject: [PATCH 016/124] [scsi] scsi: qla2xxx: Fix LUN discovery if loop id is
|
|
|
3d7c23 |
not assigned yet by firmware
|
|
|
3d7c23 |
|
|
|
3d7c23 |
Message-id: <20190801155618.12650-17-hmadhani@redhat.com>
|
|
|
3d7c23 |
Patchwork-id: 267792
|
|
|
3d7c23 |
O-Subject: [RHEL 7.8 e-stor PATCH 016/118] scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware
|
|
|
3d7c23 |
Bugzilla: 1729270
|
|
|
3d7c23 |
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
|
|
|
3d7c23 |
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
|
|
|
3d7c23 |
|
|
|
3d7c23 |
From: Himanshu Madhani <hmadhani@marvell.com>
|
|
|
3d7c23 |
|
|
|
3d7c23 |
Bugzilla 1729270
|
|
|
3d7c23 |
|
|
|
3d7c23 |
This patch fixes LUN discovery when loop ID is not yet assigned by the
|
|
|
3d7c23 |
firmware during driver load/sg_reset operations. Driver will now search for
|
|
|
3d7c23 |
new loop id before retrying login.
|
|
|
3d7c23 |
|
|
|
3d7c23 |
Fixes: 48acad099074 ("scsi: qla2xxx: Fix N2N link re-connect")
|
|
|
3d7c23 |
Cc: stable@vger.kernel.org #4.19
|
|
|
3d7c23 |
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
|
|
|
3d7c23 |
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
|
|
3d7c23 |
(cherry picked from commit ec322937a7f152d68755dc8316523bf6f831b48f)
|
|
|
3d7c23 |
Signed-off-by: Himanshu Madhani <hmadhani@redhat.com>
|
|
|
3d7c23 |
Signed-off-by: Jan Stancek <jstancek@redhat.com>
|
|
|
3d7c23 |
---
|
|
|
3d7c23 |
drivers/scsi/qla2xxx/qla_init.c | 13 ++++++++-----
|
|
|
3d7c23 |
1 file changed, 8 insertions(+), 5 deletions(-)
|
|
|
3d7c23 |
|
|
|
3d7c23 |
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
|
|
|
3d7c23 |
index c6d17e65f99b..90eeff414931 100644
|
|
|
3d7c23 |
--- a/drivers/scsi/qla2xxx/qla_init.c
|
|
|
3d7c23 |
+++ b/drivers/scsi/qla2xxx/qla_init.c
|
|
|
3d7c23 |
@@ -646,11 +646,14 @@ static void qla24xx_handle_gnl_done_event(scsi_qla_host_t *vha,
|
|
|
3d7c23 |
break;
|
|
|
3d7c23 |
case DSC_LS_PORT_UNAVAIL:
|
|
|
3d7c23 |
default:
|
|
|
3d7c23 |
- if (fcport->loop_id != FC_NO_LOOP_ID)
|
|
|
3d7c23 |
- qla2x00_clear_loop_id(fcport);
|
|
|
3d7c23 |
-
|
|
|
3d7c23 |
- fcport->loop_id = loop_id;
|
|
|
3d7c23 |
- fcport->fw_login_state = DSC_LS_PORT_UNAVAIL;
|
|
|
3d7c23 |
+ if (fcport->loop_id == FC_NO_LOOP_ID) {
|
|
|
3d7c23 |
+ qla2x00_find_new_loop_id(vha, fcport);
|
|
|
3d7c23 |
+ fcport->fw_login_state =
|
|
|
3d7c23 |
+ DSC_LS_PORT_UNAVAIL;
|
|
|
3d7c23 |
+ }
|
|
|
3d7c23 |
+ ql_dbg(ql_dbg_disc, vha, 0x20e5,
|
|
|
3d7c23 |
+ "%s %d %8phC\n", __func__, __LINE__,
|
|
|
3d7c23 |
+ fcport->port_name);
|
|
|
3d7c23 |
qla24xx_fcport_handle_login(vha, fcport);
|
|
|
3d7c23 |
break;
|
|
|
3d7c23 |
}
|
|
|
3d7c23 |
--
|
|
|
3d7c23 |
2.13.6
|
|
|
3d7c23 |
|