scsi: lpfc: Fix used-RPI accounting problem.
With 255 vports created a link trasition can casue a crash. When going through discovery after a link bounce the driver is using rpis before the cmd FCOE_POST_HDR_TEMPLATES completes. By doing that the next rpi bumps the rpi range out of the boundary. The fix it to increment the next_rpi only when the FCOE_POST_HDR_TEMPLATE succeeds. Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com> Signed-off-by: James Smart <james.smart@broadcom.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:

committed by
Martin K. Petersen

parent
dd6e1f71b7
commit
845d9e8df2
@@ -8667,7 +8667,8 @@ lpfc_cmpl_els_fdisc(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
|
||||
lpfc_do_scr_ns_plogi(phba, vport);
|
||||
goto out;
|
||||
fdisc_failed:
|
||||
if (vport->fc_vport->vport_state != FC_VPORT_NO_FABRIC_RSCS)
|
||||
if (vport->fc_vport &&
|
||||
(vport->fc_vport->vport_state != FC_VPORT_NO_FABRIC_RSCS))
|
||||
lpfc_vport_set_state(vport, FC_VPORT_FAILED);
|
||||
/* Cancel discovery timer */
|
||||
lpfc_can_disctmo(vport);
|
||||
|
Reference in New Issue
Block a user