|
Daniel Wagner |
1f7d0f |
From: Quinn Tran <qutran@marvell.com>
|
|
Daniel Wagner |
1f7d0f |
Date: Wed, 8 Jun 2022 04:58:42 -0700
|
|
Daniel Wagner |
1f7d0f |
Subject: scsi: qla2xxx: edif: Reduce disruption due to multiple app start
|
|
Denis Kirjanov |
718367 |
Patch-mainline: v5.20-rc1
|
|
Daniel Wagner |
1f7d0f |
Git-commit: 0dbfce5255fe8d069a1a3b712a25b263264cfa58
|
|
Daniel Wagner |
1f7d0f |
References: bsc#1201958
|
|
Daniel Wagner |
1f7d0f |
|
|
Daniel Wagner |
1f7d0f |
Multiple app start can trigger a session bounce. Make driver skip over
|
|
Daniel Wagner |
1f7d0f |
session teardown if app start is seen more than once.
|
|
Daniel Wagner |
1f7d0f |
|
|
Daniel Wagner |
1f7d0f |
Link: https://lore.kernel.org/r/20220608115849.16693-4-njavali@marvell.com
|
|
Daniel Wagner |
1f7d0f |
Fixes: 7ebb336e45ef ("scsi: qla2xxx: edif: Add start + stop bsgs")
|
|
Daniel Wagner |
1f7d0f |
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
|
|
Daniel Wagner |
1f7d0f |
Signed-off-by: Quinn Tran <qutran@marvell.com>
|
|
Daniel Wagner |
1f7d0f |
Signed-off-by: Nilesh Javali <njavali@marvell.com>
|
|
Daniel Wagner |
1f7d0f |
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
|
Daniel Wagner |
1f7d0f |
Acked-by: Daniel Wagner <dwagner@suse.de>
|
|
Daniel Wagner |
1f7d0f |
---
|
|
Daniel Wagner |
1f7d0f |
drivers/scsi/qla2xxx/qla_edif.c | 4 ++--
|
|
Daniel Wagner |
1f7d0f |
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
Daniel Wagner |
1f7d0f |
|
|
Daniel Wagner |
1f7d0f |
--- a/drivers/scsi/qla2xxx/qla_edif.c
|
|
Daniel Wagner |
1f7d0f |
+++ b/drivers/scsi/qla2xxx/qla_edif.c
|
|
Daniel Wagner |
1f7d0f |
@@ -510,8 +510,7 @@ qla_edif_app_start(scsi_qla_host_t *vha,
|
|
Daniel Wagner |
1f7d0f |
/* mark doorbell as active since an app is now present */
|
|
Daniel Wagner |
1f7d0f |
vha->e_dbell.db_flags |= EDB_ACTIVE;
|
|
Daniel Wagner |
1f7d0f |
} else {
|
|
Daniel Wagner |
1f7d0f |
- ql_dbg(ql_dbg_edif, vha, 0x911e, "%s doorbell already active\n",
|
|
Daniel Wagner |
1f7d0f |
- __func__);
|
|
Daniel Wagner |
1f7d0f |
+ goto out;
|
|
Daniel Wagner |
1f7d0f |
}
|
|
Daniel Wagner |
1f7d0f |
|
|
Daniel Wagner |
1f7d0f |
if (N2N_TOPO(vha->hw)) {
|
|
Daniel Wagner |
1f7d0f |
@@ -578,6 +577,7 @@ qla_edif_app_start(scsi_qla_host_t *vha,
|
|
Daniel Wagner |
1f7d0f |
__func__);
|
|
Daniel Wagner |
1f7d0f |
}
|
|
Daniel Wagner |
1f7d0f |
|
|
Daniel Wagner |
1f7d0f |
+out:
|
|
Daniel Wagner |
1f7d0f |
appreply.host_support_edif = vha->hw->flags.edif_enabled;
|
|
Daniel Wagner |
1f7d0f |
appreply.edif_enode_active = vha->pur_cinfo.enode_flags;
|
|
Daniel Wagner |
1f7d0f |
appreply.edif_edb_active = vha->e_dbell.db_flags;
|