aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_mbox.c
diff options
context:
space:
mode:
authorJames Smart <James.Smart@Emulex.Com>2009-11-18 15:39:16 -0500
committerJames Bottomley <James.Bottomley@suse.de>2009-12-04 13:01:50 -0500
commitc868595d5686e97183bc1ad85502835d81d7a457 (patch)
treec6e1838b96f048147e7b9954a195aee6bfe5b0c0 /drivers/scsi/lpfc/lpfc_mbox.c
parent832151f45806613f203c4c0308c1566d882b971f (diff)
[SCSI] lpfc 8.3.6 : FCoE Protocol Fixes
FCoE Protocol fixes. - Fixed FIP frame designation for ELS commands. - Fix CVL received on Port 1 not processed by driver. - Fix Zeroed frame on wire after FLOGI - Fix vport keep-alive does not contain the correct WWN. Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_mbox.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_mbox.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_mbox.c b/drivers/scsi/lpfc/lpfc_mbox.c
index 51c9a1f576f6..a9afd8b94b6a 100644
--- a/drivers/scsi/lpfc/lpfc_mbox.c
+++ b/drivers/scsi/lpfc/lpfc_mbox.c
@@ -820,6 +820,10 @@ lpfc_reg_vpi(struct lpfc_vport *vport, LPFC_MBOXQ_t *pmb)
820 mb->un.varRegVpi.vpi = vport->vpi + vport->phba->vpi_base; 820 mb->un.varRegVpi.vpi = vport->vpi + vport->phba->vpi_base;
821 mb->un.varRegVpi.sid = vport->fc_myDID; 821 mb->un.varRegVpi.sid = vport->fc_myDID;
822 mb->un.varRegVpi.vfi = vport->vfi + vport->phba->vfi_base; 822 mb->un.varRegVpi.vfi = vport->vfi + vport->phba->vfi_base;
823 memcpy(mb->un.varRegVpi.wwn, &vport->fc_portname,
824 sizeof(struct lpfc_name));
825 mb->un.varRegVpi.wwn[0] = cpu_to_le32(mb->un.varRegVpi.wwn[0]);
826 mb->un.varRegVpi.wwn[1] = cpu_to_le32(mb->un.varRegVpi.wwn[1]);
823 827
824 mb->mbxCommand = MBX_REG_VPI; 828 mb->mbxCommand = MBX_REG_VPI;
825 mb->mbxOwner = OWN_HOST; 829 mb->mbxOwner = OWN_HOST;
@@ -1818,6 +1822,9 @@ lpfc_reg_vfi(struct lpfcMboxq *mbox, struct lpfc_vport *vport, dma_addr_t phys)
1818 bf_set(lpfc_reg_vfi_vfi, reg_vfi, vport->vfi + vport->phba->vfi_base); 1822 bf_set(lpfc_reg_vfi_vfi, reg_vfi, vport->vfi + vport->phba->vfi_base);
1819 bf_set(lpfc_reg_vfi_fcfi, reg_vfi, vport->phba->fcf.fcfi); 1823 bf_set(lpfc_reg_vfi_fcfi, reg_vfi, vport->phba->fcf.fcfi);
1820 bf_set(lpfc_reg_vfi_vpi, reg_vfi, vport->vpi + vport->phba->vpi_base); 1824 bf_set(lpfc_reg_vfi_vpi, reg_vfi, vport->vpi + vport->phba->vpi_base);
1825 memcpy(reg_vfi->wwn, &vport->fc_portname, sizeof(struct lpfc_name));
1826 reg_vfi->wwn[0] = cpu_to_le32(reg_vfi->wwn[0]);
1827 reg_vfi->wwn[1] = cpu_to_le32(reg_vfi->wwn[1]);
1821 reg_vfi->bde.addrHigh = putPaddrHigh(phys); 1828 reg_vfi->bde.addrHigh = putPaddrHigh(phys);
1822 reg_vfi->bde.addrLow = putPaddrLow(phys); 1829 reg_vfi->bde.addrLow = putPaddrLow(phys);
1823 reg_vfi->bde.tus.f.bdeSize = sizeof(vport->fc_sparam); 1830 reg_vfi->bde.tus.f.bdeSize = sizeof(vport->fc_sparam);