diff options
author | James Smart <James.Smart@Emulex.Com> | 2008-01-11 01:53:18 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-01-23 12:29:23 -0500 |
commit | 9c2face68782d5b7a322df6aade0512b47d29f10 (patch) | |
tree | dff5c2066c1be6a3b7d83e6481d7ab3c2285ebd7 /drivers/scsi/lpfc/lpfc_hw.h | |
parent | 83108bd3826310def1e49330558467406c46b970 (diff) |
[SCSI] lpfc 8.2.4 : Fix Unsolicited Data items
Fix Drivers Unsolicited CT command handling - we did not handle multiframe
sequences well.
Fix error due to delay in replenishing buffers for unsolicited data.
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hw.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hw.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h index f78d23a3b667..041f83e7634a 100644 --- a/drivers/scsi/lpfc/lpfc_hw.h +++ b/drivers/scsi/lpfc/lpfc_hw.h | |||
@@ -2994,6 +2994,34 @@ typedef struct { | |||
2994 | #endif | 2994 | #endif |
2995 | } RCV_ELS_REQ64; | 2995 | } RCV_ELS_REQ64; |
2996 | 2996 | ||
2997 | /* IOCB Command template for RCV_SEQ64 */ | ||
2998 | struct rcv_seq64 { | ||
2999 | struct ulp_bde64 elsReq; | ||
3000 | uint32_t hbq_1; | ||
3001 | uint32_t parmRo; | ||
3002 | #ifdef __BIG_ENDIAN_BITFIELD | ||
3003 | uint32_t rctl:8; | ||
3004 | uint32_t type:8; | ||
3005 | uint32_t dfctl:8; | ||
3006 | uint32_t ls:1; | ||
3007 | uint32_t fs:1; | ||
3008 | uint32_t rsvd2:3; | ||
3009 | uint32_t si:1; | ||
3010 | uint32_t bc:1; | ||
3011 | uint32_t rsvd3:1; | ||
3012 | #else /* __LITTLE_ENDIAN_BITFIELD */ | ||
3013 | uint32_t rsvd3:1; | ||
3014 | uint32_t bc:1; | ||
3015 | uint32_t si:1; | ||
3016 | uint32_t rsvd2:3; | ||
3017 | uint32_t fs:1; | ||
3018 | uint32_t ls:1; | ||
3019 | uint32_t dfctl:8; | ||
3020 | uint32_t type:8; | ||
3021 | uint32_t rctl:8; | ||
3022 | #endif | ||
3023 | }; | ||
3024 | |||
2997 | /* IOCB Command template for all 64 bit FCP Initiator commands */ | 3025 | /* IOCB Command template for all 64 bit FCP Initiator commands */ |
2998 | typedef struct { | 3026 | typedef struct { |
2999 | ULP_BDL bdl; | 3027 | ULP_BDL bdl; |
@@ -3085,6 +3113,7 @@ typedef struct _IOCB { /* IOCB structure */ | |||
3085 | FCPT_FIELDS64 fcpt64; /* FCP 64 bit target template */ | 3113 | FCPT_FIELDS64 fcpt64; /* FCP 64 bit target template */ |
3086 | ASYNCSTAT_FIELDS asyncstat; /* async_status iocb */ | 3114 | ASYNCSTAT_FIELDS asyncstat; /* async_status iocb */ |
3087 | QUE_XRI64_CX_FIELDS quexri64cx; /* que_xri64_cx fields */ | 3115 | QUE_XRI64_CX_FIELDS quexri64cx; /* que_xri64_cx fields */ |
3116 | struct rcv_seq64 rcvseq64; /* RCV_SEQ64 and RCV_CONT64 */ | ||
3088 | 3117 | ||
3089 | uint32_t ulpWord[IOCB_WORD_SZ - 2]; /* generic 6 'words' */ | 3118 | uint32_t ulpWord[IOCB_WORD_SZ - 2]; /* generic 6 'words' */ |
3090 | } un; | 3119 | } un; |