diff options
author | James Smart <james.smart@emulex.com> | 2011-07-22 18:37:06 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-07-27 07:12:19 -0400 |
commit | 5248a7498e5f6f3d6d276080466946f82f0ea56a (patch) | |
tree | 902e39cd0c393453094a631a0ced072cdc885f6e /drivers/scsi/lpfc/lpfc_init.c | |
parent | 7851fe2c7f294d0beccf4c3d6af52e8247b89f00 (diff) |
[SCSI] lpfc 8.3.25: Fabric and Target Discovery Fixes
Fabric and Target Discovery Fixes
- Clear FC_VPORT_NEEDS_INIT_VPI flag during completion of REG_VFI mailbox
command.
- Prevent SLI3 Code from unregistering the physical VPI.
- Add an else clause to the code that checks and sets
sp->cmn.request_multiple_Nport to clear the bit.
- Remove a redundant mbox free.
- Modified lpfc_sli4_async_fip_evt to pass in physical VPI toi
lpfc_find_vport_by_vpid function.
- Modified lpfc_find_vport_by_vpid to translate physical VPI to logical VPI
before comparing with vport VPI.
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index bf999b2600f4..9d3e8affccb8 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c | |||
@@ -3649,7 +3649,7 @@ lpfc_sli4_async_fip_evt(struct lpfc_hba *phba, | |||
3649 | " tag 0x%x\n", acqe_fip->index, acqe_fip->event_tag); | 3649 | " tag 0x%x\n", acqe_fip->index, acqe_fip->event_tag); |
3650 | 3650 | ||
3651 | vport = lpfc_find_vport_by_vpid(phba, | 3651 | vport = lpfc_find_vport_by_vpid(phba, |
3652 | acqe_fip->index - phba->vpi_base); | 3652 | acqe_fip->index); |
3653 | ndlp = lpfc_sli4_perform_vport_cvl(vport); | 3653 | ndlp = lpfc_sli4_perform_vport_cvl(vport); |
3654 | if (!ndlp) | 3654 | if (!ndlp) |
3655 | break; | 3655 | break; |
@@ -4518,7 +4518,7 @@ lpfc_sli4_driver_resource_setup(struct lpfc_hba *phba) | |||
4518 | } | 4518 | } |
4519 | } | 4519 | } |
4520 | 4520 | ||
4521 | return rc; | 4521 | return 0; |
4522 | 4522 | ||
4523 | out_free_fcp_eq_hdl: | 4523 | out_free_fcp_eq_hdl: |
4524 | kfree(phba->sli4_hba.fcp_eq_hdl); | 4524 | kfree(phba->sli4_hba.fcp_eq_hdl); |