From: Kevin Barnett <kevin.barn...@hpe.com>

correct the BMIC Identify Physical Device structure
 - missing 2 fields

Reviewed-by: Scott Benesh <scott.ben...@microsemi.com>
Signed-off-by: Kevin Barnett <kevin.barn...@microsemi.com>
Signed-off-by: Don Brace <don.br...@microsemi.com>
---
 drivers/scsi/smartpqi/smartpqi.h      |   20 ++++++++++++++++----
 drivers/scsi/smartpqi/smartpqi_init.c |   16 ++++++++++++++++
 2 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/smartpqi/smartpqi.h b/drivers/scsi/smartpqi/smartpqi.h
index 1ac09e7..e74d3ed 100644
--- a/drivers/scsi/smartpqi/smartpqi.h
+++ b/drivers/scsi/smartpqi/smartpqi.h
@@ -1126,9 +1126,9 @@ struct bmic_identify_physical_device {
        u8      multi_lun_device_lun_count;
        u8      minimum_good_fw_revision[8];
        u8      unique_inquiry_bytes[20];
-       u8      current_temperature_degreesC;
-       u8      temperature_threshold_degreesC;
-       u8      max_temperature_degreesC;
+       u8      current_temperature_degrees;
+       u8      temperature_threshold_degrees;
+       u8      max_temperature_degrees;
        u8      logical_blocks_per_phys_block_exp;
        __le16  current_queue_depth_limit;
        u8      switch_name[10];
@@ -1141,10 +1141,22 @@ struct bmic_identify_physical_device {
        u8      smart_carrier_authentication;
        u8      smart_carrier_app_fw_version;
        u8      smart_carrier_bootloader_fw_version;
+       u8      sanitize_flags;
+       u8      encryption_key_flags;
        u8      encryption_key_name[64];
        __le32  misc_drive_flags;
        __le16  dek_index;
-       u8      padding[112];
+       __le16  hba_drive_encryption_flags;
+       __le16  max_overwrite_time;
+       __le16  max_block_erase_time;
+       __le16  max_crypto_erase_time;
+       u8      connector_info[5];
+       u8      connector_name[8][8];
+       u8      page_83_identifier[16];
+       u8      maximum_link_rate[256];
+       u8      negotiated_physical_link_rate[256];
+       u8      box_connector_name[8];
+       u8      padding_to_multiple_of_512[9];
 };
 
 #pragma pack()
diff --git a/drivers/scsi/smartpqi/smartpqi_init.c 
b/drivers/scsi/smartpqi/smartpqi_init.c
index fa21dd4..acf47d8 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -6982,6 +6982,22 @@ static void __attribute__((unused)) 
verify_structures(void)
        BUILD_BUG_ON(offsetof(struct bmic_identify_controller,
                controller_mode) != 292);
 
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               phys_bay_in_box) != 115);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               device_type) != 120);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               redundant_path_present_map) != 1736);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               active_path_number) != 1738);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               alternate_paths_phys_connector) != 1739);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               alternate_paths_phys_box_on_port) != 1755);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               current_queue_depth_limit) != 1796);
+       BUILD_BUG_ON(sizeof(struct bmic_identify_physical_device) != 2560);
+
        BUILD_BUG_ON(PQI_ADMIN_IQ_NUM_ELEMENTS > 255);
        BUILD_BUG_ON(PQI_ADMIN_OQ_NUM_ELEMENTS > 255);
        BUILD_BUG_ON(PQI_ADMIN_IQ_ELEMENT_LENGTH %

Reply via email to