Daniel Wagner c29bbe
From: "Ewan D. Milne" <emilne@redhat.com>
Daniel Wagner c29bbe
Date: Mon, 8 Nov 2021 13:30:12 -0500
Daniel Wagner c29bbe
Subject: scsi: qla2xxx: Fix mailbox direction flags in
Daniel Wagner c29bbe
 qla2xxx_get_adapter_id()
Daniel Wagner c29bbe
Patch-mainline: v5.16-rc2
Daniel Wagner c29bbe
Git-commit: 392006871bb26166bcfafa56faf49431c2cfaaa8
Daniel Wagner c29bbe
References: git-fixes
Daniel Wagner c29bbe
Daniel Wagner c29bbe
The SCM changes set the flags in mcp->out_mb instead of mcp->in_mb so the
Daniel Wagner c29bbe
data was not actually being read into the mcp->mb[] array from the adapter.
Daniel Wagner c29bbe
Daniel Wagner c29bbe
Link: https://lore.kernel.org/r/20211108183012.13895-1-emilne@redhat.com
Daniel Wagner c29bbe
Fixes: 9f2475fe7406 ("scsi: qla2xxx: SAN congestion management implementation")
Daniel Wagner c29bbe
Cc: stable@vger.kernel.org
Daniel Wagner c29bbe
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Daniel Wagner c29bbe
Reviewed-by: Arun Easi <aeasi@marvell.com>
Daniel Wagner c29bbe
Signed-off-by: Ewan D. Milne <emilne@redhat.com>
Daniel Wagner c29bbe
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Daniel Wagner c29bbe
Acked-by: Daniel Wagner <dwagner@suse.de>
Daniel Wagner c29bbe
---
Daniel Wagner c29bbe
 drivers/scsi/qla2xxx/qla_mbx.c |    6 ++----
Daniel Wagner c29bbe
 1 file changed, 2 insertions(+), 4 deletions(-)
Daniel Wagner c29bbe
Daniel Wagner c29bbe
--- a/drivers/scsi/qla2xxx/qla_mbx.c
Daniel Wagner c29bbe
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
Daniel Wagner c29bbe
@@ -1696,10 +1696,8 @@ qla2x00_get_adapter_id(scsi_qla_host_t *
Daniel Wagner c29bbe
 		mcp->in_mb |= MBX_13|MBX_12|MBX_11|MBX_10;
Daniel Wagner c29bbe
 	if (IS_FWI2_CAPABLE(vha->hw))
Daniel Wagner c29bbe
 		mcp->in_mb |= MBX_19|MBX_18|MBX_17|MBX_16;
Daniel Wagner c29bbe
-	if (IS_QLA27XX(vha->hw) || IS_QLA28XX(vha->hw)) {
Daniel Wagner c29bbe
-		mcp->in_mb |= MBX_15;
Daniel Wagner c29bbe
-		mcp->out_mb |= MBX_7|MBX_21|MBX_22|MBX_23;
Daniel Wagner c29bbe
-	}
Daniel Wagner c29bbe
+	if (IS_QLA27XX(vha->hw) || IS_QLA28XX(vha->hw))
Daniel Wagner c29bbe
+		mcp->in_mb |= MBX_15|MBX_21|MBX_22|MBX_23;
Daniel Wagner c29bbe
 
Daniel Wagner c29bbe
 	mcp->tov = MBX_TOV_SECONDS;
Daniel Wagner c29bbe
 	mcp->flags = 0;