|
@@ -962,7 +962,8 @@ lpfc_cmpl_els_flogi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
|
|
|
if ((phba->fcoe_cvl_eventtag_attn ==
|
|
|
phba->fcoe_cvl_eventtag) &&
|
|
|
(irsp->ulpStatus == IOSTAT_LOCAL_REJECT) &&
|
|
|
- (irsp->un.ulpWord[4] == IOERR_SLI_ABORTED))
|
|
|
+ ((irsp->un.ulpWord[4] & IOERR_PARAM_MASK) ==
|
|
|
+ IOERR_SLI_ABORTED))
|
|
|
goto stop_rr_fcf_flogi;
|
|
|
else
|
|
|
phba->fcoe_cvl_eventtag_attn =
|
|
@@ -1108,8 +1109,10 @@ flogifail:
|
|
|
/* Start discovery */
|
|
|
lpfc_disc_start(vport);
|
|
|
} else if (((irsp->ulpStatus != IOSTAT_LOCAL_REJECT) ||
|
|
|
- ((irsp->un.ulpWord[4] != IOERR_SLI_ABORTED) &&
|
|
|
- (irsp->un.ulpWord[4] != IOERR_SLI_DOWN))) &&
|
|
|
+ (((irsp->un.ulpWord[4] & IOERR_PARAM_MASK) !=
|
|
|
+ IOERR_SLI_ABORTED) &&
|
|
|
+ ((irsp->un.ulpWord[4] & IOERR_PARAM_MASK) !=
|
|
|
+ IOERR_SLI_DOWN))) &&
|
|
|
(phba->link_state != LPFC_CLEAR_LA)) {
|
|
|
/* If FLOGI failed enable link interrupt. */
|
|
|
lpfc_issue_clear_la(phba, vport);
|
|
@@ -3070,7 +3073,7 @@ lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
|
|
|
}
|
|
|
break;
|
|
|
case IOSTAT_LOCAL_REJECT:
|
|
|
- switch ((irsp->un.ulpWord[4] & 0xff)) {
|
|
|
+ switch ((irsp->un.ulpWord[4] & IOERR_PARAM_MASK)) {
|
|
|
case IOERR_LOOP_OPEN_FAILURE:
|
|
|
if (cmd == ELS_CMD_FLOGI) {
|
|
|
if (PCI_DEVICE_ID_HORNET ==
|
|
@@ -3277,7 +3280,8 @@ lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
|
|
|
|
|
|
if (((cmd == ELS_CMD_PLOGI) || (cmd == ELS_CMD_ADISC)) &&
|
|
|
((irsp->ulpStatus != IOSTAT_LOCAL_REJECT) ||
|
|
|
- ((irsp->un.ulpWord[4] & 0xff) != IOERR_NO_RESOURCES))) {
|
|
|
+ ((irsp->un.ulpWord[4] & IOERR_PARAM_MASK) !=
|
|
|
+ IOERR_NO_RESOURCES))) {
|
|
|
/* Don't reset timer for no resources */
|
|
|
|
|
|
/* If discovery / RSCN timer is running, reset it */
|
|
@@ -6870,7 +6874,8 @@ lpfc_els_unsol_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
|
|
|
if (icmd->ulpStatus == IOSTAT_NEED_BUFFER) {
|
|
|
lpfc_sli_hbqbuf_add_hbqs(phba, LPFC_ELS_HBQ);
|
|
|
} else if (icmd->ulpStatus == IOSTAT_LOCAL_REJECT &&
|
|
|
- (icmd->un.ulpWord[4] & 0xff) == IOERR_RCV_BUFFER_WAITING) {
|
|
|
+ (icmd->un.ulpWord[4] & IOERR_PARAM_MASK) ==
|
|
|
+ IOERR_RCV_BUFFER_WAITING) {
|
|
|
phba->fc_stat.NoRcvBuf++;
|
|
|
/* Not enough posted buffers; Try posting more buffers */
|
|
|
if (!(phba->sli3_options & LPFC_SLI3_HBQ_ENABLED))
|