Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 292880
b: refs/heads/master
c: eff4a01
h: refs/heads/master
v: v3
  • Loading branch information
James Smart authored and James Bottomley committed Feb 19, 2012
1 parent d40b21c commit 43a0d6d
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: acd6859b084d1e1b3ec8bc9befe6532223260d33
refs/heads/master: eff4a01b6e9f8cee3c541ab7f2ad18b5bbffd124
2 changes: 1 addition & 1 deletion trunk/drivers/scsi/lpfc/lpfc_els.c
Original file line number Diff line number Diff line change
Expand Up @@ -1526,7 +1526,6 @@ lpfc_plogi_confirm_nport(struct lpfc_hba *phba, uint32_t *prsp,
memcpy(&ndlp->active_rrqs.xri_bitmap,
&rrq.xri_bitmap,
sizeof(ndlp->active_rrqs.xri_bitmap));
lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE);
/* Since we are swapping the ndlp passed in with the new one
* and the did has already been swapped, copy over the
* state and names.
Expand All @@ -1536,6 +1535,7 @@ lpfc_plogi_confirm_nport(struct lpfc_hba *phba, uint32_t *prsp,
memcpy(&new_ndlp->nlp_nodename, &ndlp->nlp_nodename,
sizeof(struct lpfc_name));
new_ndlp->nlp_state = ndlp->nlp_state;
lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE);
/* Fix up the rport accordingly */
rport = ndlp->rport;
if (rport) {
Expand Down
4 changes: 4 additions & 0 deletions trunk/drivers/scsi/lpfc/lpfc_hbadisc.c
Original file line number Diff line number Diff line change
Expand Up @@ -5332,6 +5332,10 @@ lpfc_filter_by_rpi(struct lpfc_nodelist *ndlp, void *param)
{
uint16_t *rpi = param;

/* check for active node */
if (!NLP_CHK_NODE_ACT(ndlp))
return 0;

return ndlp->nlp_rpi == *rpi;
}

Expand Down
9 changes: 8 additions & 1 deletion trunk/drivers/scsi/lpfc/lpfc_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -2341,13 +2341,20 @@ lpfc_cleanup(struct lpfc_vport *vport)
continue;
}

/* take care of nodes in unused state before the state
* machine taking action.
*/
if (ndlp->nlp_state == NLP_STE_UNUSED_NODE) {
lpfc_nlp_put(ndlp);
continue;
}

if (ndlp->nlp_type & NLP_FABRIC)
lpfc_disc_state_machine(vport, ndlp, NULL,
NLP_EVT_DEVICE_RECOVERY);

lpfc_disc_state_machine(vport, ndlp, NULL,
NLP_EVT_DEVICE_RM);

}

/* At this point, ALL ndlp's should be gone
Expand Down

0 comments on commit 43a0d6d

Please sign in to comment.