[SCSI] lpfc 8.3.33: When doing loopback testing, set the diag valid bit
authorJames Smart <james.smart@emulex.com>
Fri, 3 Aug 2012 16:32:52 +0000 (12:32 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Fri, 14 Sep 2012 12:58:17 +0000 (13:58 +0100)
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/lpfc/lpfc_bsg.c
drivers/scsi/lpfc/lpfc_hw4.h

index 253d9a8..830f6cc 100644 (file)
@@ -1714,6 +1714,8 @@ lpfc_sli4_bsg_set_link_diag_state(struct lpfc_hba *phba, uint32_t diag)
                        phba->sli4_hba.lnk_info.lnk_no);
 
        link_diag_state = &pmboxq->u.mqe.un.link_diag_state;
+       bf_set(lpfc_mbx_set_diag_state_diag_bit_valid, &link_diag_state->u.req,
+              LPFC_DIAG_STATE_DIAG_BIT_VALID_CHANGE);
        bf_set(lpfc_mbx_set_diag_state_link_num, &link_diag_state->u.req,
               phba->sli4_hba.lnk_info.lnk_no);
        bf_set(lpfc_mbx_set_diag_state_link_type, &link_diag_state->u.req,
index 953603a..9f5c93c 100644 (file)
@@ -1382,6 +1382,11 @@ struct lpfc_mbx_set_link_diag_state {
 #define lpfc_mbx_set_diag_state_diag_SHIFT     0
 #define lpfc_mbx_set_diag_state_diag_MASK      0x00000001
 #define lpfc_mbx_set_diag_state_diag_WORD      word0
+#define lpfc_mbx_set_diag_state_diag_bit_valid_SHIFT   2
+#define lpfc_mbx_set_diag_state_diag_bit_valid_MASK    0x00000001
+#define lpfc_mbx_set_diag_state_diag_bit_valid_WORD    word0
+#define LPFC_DIAG_STATE_DIAG_BIT_VALID_NO_CHANGE       0
+#define LPFC_DIAG_STATE_DIAG_BIT_VALID_CHANGE          1
 #define lpfc_mbx_set_diag_state_link_num_SHIFT 16
 #define lpfc_mbx_set_diag_state_link_num_MASK  0x0000003F
 #define lpfc_mbx_set_diag_state_link_num_WORD  word0