diff options
author | James Smart <james.smart@emulex.com> | 2010-10-22 11:06:08 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-10-26 11:40:49 -0400 |
commit | a93ff37a8a869c7065a1b05f75e69bfb74eb599c (patch) | |
tree | 357ef8d67e3a845c21a8843fc2a5b941e007b33d /drivers/scsi/lpfc/lpfc.h | |
parent | 12265f68ae925b9dee8099140b4213c28ef54f14 (diff) |
[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>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h index cd4afcf749dd..196de40b906c 100644 --- a/drivers/scsi/lpfc/lpfc.h +++ b/drivers/scsi/lpfc/lpfc.h | |||
@@ -552,9 +552,11 @@ struct lpfc_hba { | |||
552 | #define ELS_XRI_ABORT_EVENT 0x40 | 552 | #define ELS_XRI_ABORT_EVENT 0x40 |
553 | #define ASYNC_EVENT 0x80 | 553 | #define ASYNC_EVENT 0x80 |
554 | #define LINK_DISABLED 0x100 /* Link disabled by user */ | 554 | #define LINK_DISABLED 0x100 /* Link disabled by user */ |
555 | #define FCF_DISC_INPROGRESS 0x200 /* FCF discovery in progress */ | 555 | #define FCF_TS_INPROG 0x200 /* FCF table scan in progress */ |
556 | #define HBA_FIP_SUPPORT 0x400 /* FIP support in HBA */ | 556 | #define FCF_RR_INPROG 0x400 /* FCF roundrobin flogi in progress */ |
557 | #define HBA_AER_ENABLED 0x800 /* AER enabled with HBA */ | 557 | #define HBA_FIP_SUPPORT 0x800 /* FIP support in HBA */ |
558 | #define HBA_AER_ENABLED 0x1000 /* AER enabled with HBA */ | ||
559 | #define HBA_DEVLOSS_TMO 0x2000 /* HBA in devloss timeout */ | ||
558 | uint32_t fcp_ring_in_use; /* When polling test if intr-hndlr active*/ | 560 | uint32_t fcp_ring_in_use; /* When polling test if intr-hndlr active*/ |
559 | struct lpfc_dmabuf slim2p; | 561 | struct lpfc_dmabuf slim2p; |
560 | 562 | ||