[SCSI] lpfc 8.3.18: Add logic to detect last devloss timeout
authorJames Smart <james.smart@emulex.com>
Fri, 22 Oct 2010 15:06:08 +0000 (11:06 -0400)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 26 Oct 2010 15:40:49 +0000 (10:40 -0500)
commita93ff37a8a869c7065a1b05f75e69bfb74eb599c
tree357ef8d67e3a845c21a8843fc2a5b941e007b33d
parent12265f68ae925b9dee8099140b4213c28ef54f14
[SCSI] lpfc 8.3.18: Add logic to detect last devloss timeout

Added driver logic to detect the last devloss timeout of remote nodes which
was still in use of FCF. At that point, the driver should set the last
in-use remote node devloss timeout flag if it was not already set and should
perform proper action on the in-use FCF and recover of FCF from firmware,
depending on the state the driver's FIP engine is in.

Find eligible FCF through FCF table rescan or the next new FCF event when
FCF table rescan turned out empty eligible FCF, and the successful flogi
into an FCF shall clear the HBA_DEVLOSS_TMO flag, indicating the successful
recovery from devloss timeout.

[jejb: add delay.h include to lpfc_hbadisc.c to fix ppc compile]
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>
drivers/scsi/lpfc/lpfc.h
drivers/scsi/lpfc/lpfc_crtn.h
drivers/scsi/lpfc/lpfc_els.c
drivers/scsi/lpfc/lpfc_hbadisc.c
drivers/scsi/lpfc/lpfc_init.c
drivers/scsi/lpfc/lpfc_sli.c
drivers/scsi/lpfc/lpfc_sli4.h