aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 3bdec4b2faae..99bc2bb1987f 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -1733,11 +1733,20 @@ lpfc_parse_vpd(struct lpfc_hba *phba, uint8_t *vpd, int len)
1733 j = 0; 1733 j = 0;
1734 Length -= (3+i); 1734 Length -= (3+i);
1735 while(i--) { 1735 while(i--) {
1736 phba->Port[j++] = vpd[index++]; 1736 if ((phba->sli_rev == LPFC_SLI_REV4) &&
1737 if (j == 19) 1737 (phba->sli4_hba.pport_name_sta ==
1738 break; 1738 LPFC_SLI4_PPNAME_GET)) {
1739 j++;
1740 index++;
1741 } else
1742 phba->Port[j++] = vpd[index++];
1743 if (j == 19)
1744 break;
1739 } 1745 }
1740 phba->Port[j] = 0; 1746 if ((phba->sli_rev != LPFC_SLI_REV4) ||
1747 (phba->sli4_hba.pport_name_sta ==
1748 LPFC_SLI4_PPNAME_NON))
1749 phba->Port[j] = 0;
1741 continue; 1750 continue;
1742 } 1751 }
1743 else { 1752 else {