forked from Minki/linux
lpfc: correct device removal deadlock after link bounce
This patch, applicable to 8G/4G/2G adapters, adds a call that resumes transmit operations after a link bounce. Without it, targets that tried to suspend exchanges after a link bounce (such as tape devices using sequence level error recovery) would never resume io operation, causing scan failures, and eventually deadlocks if a device removal request is made. Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Reviewed-by: Ewan D. Milne <emilne@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
37c0b105ae
commit
d454c91f74
@ -2225,6 +2225,15 @@ lpfc_adisc_done(struct lpfc_vport *vport)
|
||||
if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) &&
|
||||
!(vport->fc_flag & FC_RSCN_MODE) &&
|
||||
(phba->sli_rev < LPFC_SLI_REV4)) {
|
||||
/* The ADISCs are complete. Doesn't matter if they
|
||||
* succeeded or failed because the ADISC completion
|
||||
* routine guarantees to call the state machine and
|
||||
* the RPI is either unregistered (failed ADISC response)
|
||||
* or the RPI is still valid and the node is marked
|
||||
* mapped for a target. The exchanges should be in the
|
||||
* correct state. This code is specific to SLI3.
|
||||
*/
|
||||
lpfc_issue_clear_la(phba, vport);
|
||||
lpfc_issue_reg_vpi(phba, vport);
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user