scsi: lpfc: Fix missing MDS functionality
authorDick Kennedy <dick.kennedy@broadcom.com>
Tue, 30 Jun 2020 21:49:49 +0000 (14:49 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 3 Jul 2020 03:06:34 +0000 (23:06 -0400)
Visual code inspection of the MDS implementation revealed two errors in
the driver:

 - The set features Feature Code had an incorrect value

 - The routine that classifies command type for cmd completions was missing
   the Send Frame definition. Send Frame is used for MDS driver loopback.

Link: https://lore.kernel.org/r/20200630215001.70793-3-jsmart2021@gmail.com
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_hw4.h
drivers/scsi/lpfc/lpfc_sli.c

index 6dfff03..b8d3144 100644 (file)
@@ -3531,7 +3531,7 @@ struct lpfc_sli4_parameters {
 };
 
 #define LPFC_SET_UE_RECOVERY           0x10
-#define LPFC_SET_MDS_DIAGS             0x11
+#define LPFC_SET_MDS_DIAGS             0x12
 #define LPFC_SET_DUAL_DUMP             0x1e
 struct lpfc_mbx_set_feature {
        struct mbox_header header;
index 25653ba..1575fcc 100644 (file)
@@ -1491,6 +1491,7 @@ lpfc_sli_iocb_cmd_type(uint8_t iocb_cmnd)
        case DSSCMD_IWRITE64_CX:
        case DSSCMD_IREAD64_CR:
        case DSSCMD_IREAD64_CX:
+       case CMD_SEND_FRAME:
                type = LPFC_SOL_IOCB;
                break;
        case CMD_ABORT_XRI_CN: