diff options
author | James Smart <james.smart@emulex.com> | 2010-07-14 15:30:54 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-07-28 10:05:40 -0400 |
commit | 589a52d6a97e01c5ff6c244ee6c8ea57726c610f (patch) | |
tree | c8df31220d1b46c792552cd04fe4697a12af139d /drivers/scsi/lpfc/lpfc_hbadisc.c | |
parent | 75576bb9b208d7c66822f310cdef9ca2d72c879c (diff) |
[SCSI] lpfc 8.3.15: BSG, Discovery, and Misc fixes
- BSG interface related:
- Fix node reference count if node is active
- Warn if we're overwriting an active CT context
- Discovery related:
- Clear "Ignore Reg Login" flag when purging mailbox queue
- Pay attention to return code for fc_block_scsi_eh()
- Stall device loss code if we're almost done when it fires
(we're logged in, but PRLI is outstanding)
- Bugs
- Correct DIF code for endianness issues
- Correct where we had missed points to check txq on i/o
completion/cleanup
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hbadisc.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hbadisc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index 9fcad20491ef..a610464da16e 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
@@ -276,7 +276,8 @@ lpfc_dev_loss_tmo_handler(struct lpfc_nodelist *ndlp) | |||
276 | !(ndlp->nlp_flag & NLP_DELAY_TMO) && | 276 | !(ndlp->nlp_flag & NLP_DELAY_TMO) && |
277 | !(ndlp->nlp_flag & NLP_NPR_2B_DISC) && | 277 | !(ndlp->nlp_flag & NLP_NPR_2B_DISC) && |
278 | (ndlp->nlp_state != NLP_STE_UNMAPPED_NODE) && | 278 | (ndlp->nlp_state != NLP_STE_UNMAPPED_NODE) && |
279 | (ndlp->nlp_state != NLP_STE_REG_LOGIN_ISSUE)) | 279 | (ndlp->nlp_state != NLP_STE_REG_LOGIN_ISSUE) && |
280 | (ndlp->nlp_state != NLP_STE_PRLI_ISSUE)) | ||
280 | lpfc_disc_state_machine(vport, ndlp, NULL, NLP_EVT_DEVICE_RM); | 281 | lpfc_disc_state_machine(vport, ndlp, NULL, NLP_EVT_DEVICE_RM); |
281 | 282 | ||
282 | lpfc_unregister_unused_fcf(phba); | 283 | lpfc_unregister_unused_fcf(phba); |
@@ -587,7 +588,7 @@ lpfc_work_done(struct lpfc_hba *phba) | |||
587 | (status & | 588 | (status & |
588 | HA_RXMASK)); | 589 | HA_RXMASK)); |
589 | } | 590 | } |
590 | if (phba->pport->work_port_events & WORKER_SERVICE_TXQ) | 591 | if (pring->txq_cnt) |
591 | lpfc_drain_txq(phba); | 592 | lpfc_drain_txq(phba); |
592 | /* | 593 | /* |
593 | * Turn on Ring interrupts | 594 | * Turn on Ring interrupts |