OSDN Git Service

scsi: lpfc: Fix Max Frame Size value shown in fdmishow output
authorJames Smart <jsmart2021@gmail.com>
Wed, 14 Aug 2019 23:57:00 +0000 (16:57 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 20 Aug 2019 02:41:11 +0000 (22:41 -0400)
Max Frame Size value is shown as 34816 in fdmishow from Switch.

The driver uses bbRcvSize in common service param which is obtained from
the READ_SPARM mailbox command. The bbRcvSize field which is displayed is a
three nibble field but the driver is printing a full four nibbles.

Fix by masking off the upper nibble.

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_ct.c

index c52d5ed..1717f34 100644 (file)
@@ -2552,7 +2552,7 @@ lpfc_fdmi_port_attr_max_frame(struct lpfc_vport *vport,
        ae = (struct lpfc_fdmi_attr_entry *)&ad->AttrValue;
 
        hsp = (struct serv_parm *)&vport->fc_sparam;
-       ae->un.AttrInt = (((uint32_t) hsp->cmn.bbRcvSizeMsb) << 8) |
+       ae->un.AttrInt = (((uint32_t) hsp->cmn.bbRcvSizeMsb & 0x0F) << 8) |
                          (uint32_t) hsp->cmn.bbRcvSizeLsb;
        ae->un.AttrInt = cpu_to_be32(ae->un.AttrInt);
        size = FOURBYTES + sizeof(uint32_t);