diff options
author | James.Smart@Emulex.Com <James.Smart@Emulex.Com> | 2005-06-25 10:34:33 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-07-02 19:58:48 -0400 |
commit | 2501322eee84763a07fd4a3eed81b63c1837e204 (patch) | |
tree | b256f2185fdcca3c4c6087e4c989ac1a3de9a622 /drivers/scsi/lpfc | |
parent | 5eb95af086f5d2e554bb119f3cb71f7ca38bfe85 (diff) |
[SCSI] lpfc: Fix ADISC completion incorrectly putting initiators on mapped list
Symptom - An unmapped node (initiator) that goes away in a situation
such as cable pull, comes back as a mapped node. Fix - On ADISC
completion, put a list on the mapped list only if it is a FCP_TARGET.
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/lpfc')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_nportdisc.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_nportdisc.c b/drivers/scsi/lpfc/lpfc_nportdisc.c index e7470a4738c5..421356eabc22 100644 --- a/drivers/scsi/lpfc/lpfc_nportdisc.c +++ b/drivers/scsi/lpfc/lpfc_nportdisc.c | |||
@@ -950,8 +950,13 @@ lpfc_cmpl_adisc_adisc_issue(struct lpfc_hba * phba, | |||
950 | lpfc_unreg_rpi(phba, ndlp); | 950 | lpfc_unreg_rpi(phba, ndlp); |
951 | return (ndlp->nlp_state); | 951 | return (ndlp->nlp_state); |
952 | } | 952 | } |
953 | ndlp->nlp_state = NLP_STE_MAPPED_NODE; | 953 | if (ndlp->nlp_type & NLP_FCP_TARGET) { |
954 | lpfc_nlp_list(phba, ndlp, NLP_MAPPED_LIST); | 954 | ndlp->nlp_state = NLP_STE_MAPPED_NODE; |
955 | lpfc_nlp_list(phba, ndlp, NLP_MAPPED_LIST); | ||
956 | } else { | ||
957 | ndlp->nlp_state = NLP_STE_UNMAPPED_NODE; | ||
958 | lpfc_nlp_list(phba, ndlp, NLP_UNMAPPED_LIST); | ||
959 | } | ||
955 | return (ndlp->nlp_state); | 960 | return (ndlp->nlp_state); |
956 | } | 961 | } |
957 | 962 | ||