diff options
author | James Smart <James.Smart@Emulex.Com> | 2008-08-24 21:50:00 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-10-13 09:28:53 -0400 |
commit | d7c255b26d8e3f12164d82093de3bf22efad2b4a (patch) | |
tree | 0b3467eda322ec2d90e5a7369891ab4ba12ff0a1 /drivers/scsi/lpfc/lpfc_hw.h | |
parent | 34b02dcdcf1865405f4762b991965c0c3b8a3ae0 (diff) |
[SCSI] lpfc 8.2.8 : Miscellaneous Bug Fixes
Miscellaneous Fixes:
- Fix the wrong variable name used for checking node active usage status
- Fix numerous duplicate log message numbers
- Fix change KERN_WARNING messages to KERN_INFO.
- Stop sending erroneous LOGO to fabric after vport is already terminated
- Fix HBQ allocates that were kalloc'ing w/ GFP_KERNEL while holding a lock.
- Fix gcc 4.3.2 compiler warnings and a sparse warning
- Fix bugs in handling unsolicited ct event queue
- Reorder some of the initial link up checks, to remove odd VPI states.
- Correct poor VPI handling
- Add debug messages
- Expand Update_CFG mailbox definition
- Fix handling of VPD data offsets
- Reorder loopback flags
- convert to use offsetof()
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 | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h index a986332fecf6..9f94dab5ea73 100644 --- a/drivers/scsi/lpfc/lpfc_hw.h +++ b/drivers/scsi/lpfc/lpfc_hw.h | |||
@@ -2318,6 +2318,36 @@ typedef struct { | |||
2318 | #define DMP_RSP_OFFSET 0x14 /* word 5 contains first word of rsp */ | 2318 | #define DMP_RSP_OFFSET 0x14 /* word 5 contains first word of rsp */ |
2319 | #define DMP_RSP_SIZE 0x6C /* maximum of 27 words of rsp data */ | 2319 | #define DMP_RSP_SIZE 0x6C /* maximum of 27 words of rsp data */ |
2320 | 2320 | ||
2321 | /* Structure for MB Command UPDATE_CFG (0x1B) */ | ||
2322 | |||
2323 | struct update_cfg_var { | ||
2324 | #ifdef __BIG_ENDIAN_BITFIELD | ||
2325 | uint32_t rsvd2:16; | ||
2326 | uint32_t type:8; | ||
2327 | uint32_t rsvd:1; | ||
2328 | uint32_t ra:1; | ||
2329 | uint32_t co:1; | ||
2330 | uint32_t cv:1; | ||
2331 | uint32_t req:4; | ||
2332 | uint32_t entry_length:16; | ||
2333 | uint32_t region_id:16; | ||
2334 | #else /* __LITTLE_ENDIAN_BITFIELD */ | ||
2335 | uint32_t req:4; | ||
2336 | uint32_t cv:1; | ||
2337 | uint32_t co:1; | ||
2338 | uint32_t ra:1; | ||
2339 | uint32_t rsvd:1; | ||
2340 | uint32_t type:8; | ||
2341 | uint32_t rsvd2:16; | ||
2342 | uint32_t region_id:16; | ||
2343 | uint32_t entry_length:16; | ||
2344 | #endif | ||
2345 | |||
2346 | uint32_t resp_info; | ||
2347 | uint32_t byte_cnt; | ||
2348 | uint32_t data_offset; | ||
2349 | }; | ||
2350 | |||
2321 | struct hbq_mask { | 2351 | struct hbq_mask { |
2322 | #ifdef __BIG_ENDIAN_BITFIELD | 2352 | #ifdef __BIG_ENDIAN_BITFIELD |
2323 | uint8_t tmatch; | 2353 | uint8_t tmatch; |
@@ -2672,6 +2702,7 @@ typedef union { | |||
2672 | * NEW_FEATURE | 2702 | * NEW_FEATURE |
2673 | */ | 2703 | */ |
2674 | struct config_hbq_var varCfgHbq;/* cmd = 0x7c (CONFIG_HBQ) */ | 2704 | struct config_hbq_var varCfgHbq;/* cmd = 0x7c (CONFIG_HBQ) */ |
2705 | struct update_cfg_var varUpdateCfg; /* cmd = 0x1B (UPDATE_CFG)*/ | ||
2675 | CONFIG_PORT_VAR varCfgPort; /* cmd = 0x88 (CONFIG_PORT) */ | 2706 | CONFIG_PORT_VAR varCfgPort; /* cmd = 0x88 (CONFIG_PORT) */ |
2676 | REG_VPI_VAR varRegVpi; /* cmd = 0x96 (REG_VPI) */ | 2707 | REG_VPI_VAR varRegVpi; /* cmd = 0x96 (REG_VPI) */ |
2677 | UNREG_VPI_VAR varUnregVpi; /* cmd = 0x97 (UNREG_VPI) */ | 2708 | UNREG_VPI_VAR varUnregVpi; /* cmd = 0x97 (UNREG_VPI) */ |