diff options
author | James Smart <james.smart@emulex.com> | 2010-02-26 14:14:23 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-03-03 08:39:18 -0500 |
commit | 0f65ff680f90281d49ee864965f06774eba9657d (patch) | |
tree | c12332bc872aaf2616b94b38cfb5d76a510b1272 /drivers/scsi/lpfc/lpfc_sli4.h | |
parent | e40a02c12581f710877da372b5d7e15b68a1c5c3 (diff) |
[SCSI] lpfc 8.3.10: Update SLI interface areas
- Clear LPFC_DRIVER_ABORTED on FCP command completion.
- Clear exchange busy flag when I/O is aborted and found on aborted list.
- Free sglq when XRI_ABORTED event is processed before release of IOCB.
- Only process iocb as aborted when LPFC_DRIVER_ABORTED is set.
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_sli4.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_sli4.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_sli4.h b/drivers/scsi/lpfc/lpfc_sli4.h index 86308836600f..04fd7829cf39 100644 --- a/drivers/scsi/lpfc/lpfc_sli4.h +++ b/drivers/scsi/lpfc/lpfc_sli4.h | |||
@@ -431,11 +431,18 @@ enum lpfc_sge_type { | |||
431 | SCSI_BUFF_TYPE | 431 | SCSI_BUFF_TYPE |
432 | }; | 432 | }; |
433 | 433 | ||
434 | enum lpfc_sgl_state { | ||
435 | SGL_FREED, | ||
436 | SGL_ALLOCATED, | ||
437 | SGL_XRI_ABORTED | ||
438 | }; | ||
439 | |||
434 | struct lpfc_sglq { | 440 | struct lpfc_sglq { |
435 | /* lpfc_sglqs are used in double linked lists */ | 441 | /* lpfc_sglqs are used in double linked lists */ |
436 | struct list_head list; | 442 | struct list_head list; |
437 | struct list_head clist; | 443 | struct list_head clist; |
438 | enum lpfc_sge_type buff_type; /* is this a scsi sgl */ | 444 | enum lpfc_sge_type buff_type; /* is this a scsi sgl */ |
445 | enum lpfc_sgl_state state; | ||
439 | uint16_t iotag; /* pre-assigned IO tag */ | 446 | uint16_t iotag; /* pre-assigned IO tag */ |
440 | uint16_t sli4_xritag; /* pre-assigned XRI, (OXID) tag. */ | 447 | uint16_t sli4_xritag; /* pre-assigned XRI, (OXID) tag. */ |
441 | struct sli4_sge *sgl; /* pre-assigned SGL */ | 448 | struct sli4_sge *sgl; /* pre-assigned SGL */ |