[SCSI] lpfc 8.3.41: Ensure driver properly zeros unused fields in SLI4 mailbox commands
authorJames Smart <james.smart@emulex.com>
Mon, 15 Jul 2013 22:33:04 +0000 (18:33 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Fri, 23 Aug 2013 17:18:03 +0000 (13:18 -0400)
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/lpfc/lpfc_mbox.c

index b1c510f..1f292e2 100644 (file)
@@ -178,7 +178,8 @@ lpfc_dump_wakeup_param(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
        mb->mbxOwner = OWN_HOST;
        mb->un.varDmp.cv = 1;
        mb->un.varDmp.type = DMP_NV_PARAMS;
-       mb->un.varDmp.entry_index = 0;
+       if (phba->sli_rev < LPFC_SLI_REV4)
+               mb->un.varDmp.entry_index = 0;
        mb->un.varDmp.region_id = WAKE_UP_PARMS_REGION_ID;
        mb->un.varDmp.word_cnt = WAKE_UP_PARMS_WORD_SIZE;
        mb->un.varDmp.co = 0;
@@ -361,7 +362,7 @@ lpfc_config_link(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
        /* NEW_FEATURE
         * SLI-2, Coalescing Response Feature.
         */
-       if (phba->cfg_cr_delay) {
+       if (phba->cfg_cr_delay && (phba->sli_rev < LPFC_SLI_REV4)) {
                mb->un.varCfgLnk.cr = 1;
                mb->un.varCfgLnk.ci = 1;
                mb->un.varCfgLnk.cr_delay = phba->cfg_cr_delay;
@@ -377,7 +378,7 @@ lpfc_config_link(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
        mb->un.varCfgLnk.crtov = phba->fc_crtov;
        mb->un.varCfgLnk.citov = phba->fc_citov;
 
-       if (phba->cfg_ack0)
+       if (phba->cfg_ack0 && (phba->sli_rev < LPFC_SLI_REV4))
                mb->un.varCfgLnk.ack0_enable = 1;
 
        mb->mbxCommand = MBX_CONFIG_LINK;