diff options
author | James Smart <james.smart@emulex.com> | 2010-04-06 15:05:28 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 14:45:38 -0400 |
commit | c74959370369cd870560777b7db7ec940565bb85 (patch) | |
tree | febf7febd3fce3ba160a405f91bc1c42858c8ee8 /drivers/scsi/lpfc/lpfc_hw.h | |
parent | 49198b371e2da20548d1408a7d3a8dea2f91263c (diff) |
[SCSI] lpfc 8.3.12: BSG Fixes and enhancements
- Add memcpy to mailbox completion to transfer reply correctly.
- Add support for BSG mailbox commands (dump, update_cfg, and
event_log_status).
- Add warning message and refuse mailbox command while mgmt is blocked.
- Add checks for memory allocation failure.
- Add check for sli4 dump zero BDE size.
- Only copy data if mailbox commands succeed.
- Add support for Read Event Log mailbox command.
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_hw.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hw.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h index 0cf9a2bd3469..e654d01dad24 100644 --- a/drivers/scsi/lpfc/lpfc_hw.h +++ b/drivers/scsi/lpfc/lpfc_hw.h | |||
@@ -1732,6 +1732,17 @@ typedef struct { | |||
1732 | } un; | 1732 | } un; |
1733 | } BIU_DIAG_VAR; | 1733 | } BIU_DIAG_VAR; |
1734 | 1734 | ||
1735 | /* Structure for MB command READ_EVENT_LOG (0x38) */ | ||
1736 | struct READ_EVENT_LOG_VAR { | ||
1737 | uint32_t word1; | ||
1738 | #define lpfc_event_log_SHIFT 29 | ||
1739 | #define lpfc_event_log_MASK 0x00000001 | ||
1740 | #define lpfc_event_log_WORD word1 | ||
1741 | #define USE_MAILBOX_RESPONSE 1 | ||
1742 | uint32_t offset; | ||
1743 | struct ulp_bde64 rcv_bde64; | ||
1744 | }; | ||
1745 | |||
1735 | /* Structure for MB Command INIT_LINK (05) */ | 1746 | /* Structure for MB Command INIT_LINK (05) */ |
1736 | 1747 | ||
1737 | typedef struct { | 1748 | typedef struct { |
@@ -2966,6 +2977,9 @@ typedef union { | |||
2966 | REG_VPI_VAR varRegVpi; /* cmd = 0x96 (REG_VPI) */ | 2977 | REG_VPI_VAR varRegVpi; /* cmd = 0x96 (REG_VPI) */ |
2967 | UNREG_VPI_VAR varUnregVpi; /* cmd = 0x97 (UNREG_VPI) */ | 2978 | UNREG_VPI_VAR varUnregVpi; /* cmd = 0x97 (UNREG_VPI) */ |
2968 | ASYNCEVT_ENABLE_VAR varCfgAsyncEvent; /*cmd = x33 (CONFIG_ASYNC) */ | 2979 | ASYNCEVT_ENABLE_VAR varCfgAsyncEvent; /*cmd = x33 (CONFIG_ASYNC) */ |
2980 | struct READ_EVENT_LOG_VAR varRdEventLog; /* cmd = 0x38 | ||
2981 | * (READ_EVENT_LOG) | ||
2982 | */ | ||
2969 | struct config_msi_var varCfgMSI;/* cmd = x30 (CONFIG_MSI) */ | 2983 | struct config_msi_var varCfgMSI;/* cmd = x30 (CONFIG_MSI) */ |
2970 | } MAILVARIANTS; | 2984 | } MAILVARIANTS; |
2971 | 2985 | ||