]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
scsi: smartpqi: correct BMIC identify physical drive
authorKevin Barnett <kevin.barnett@hpe.com>
Wed, 3 May 2017 23:53:42 +0000 (18:53 -0500)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 26 Jul 2017 04:06:54 +0000 (21:06 -0700)
Orabug: 2619102126447813

correct the BMIC Identify Physical Device structure
 - missing 2 fields

Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com>
Signed-off-by: Don Brace <don.brace@microsemi.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit 1be42f46ade32c668f11c0735af03ab2d479d206)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/scsi/smartpqi/smartpqi.h
drivers/scsi/smartpqi/smartpqi_init.c

index e6037fd9cecacb56c6cb457ec3d05c2e81fb2f54..0237e046465d4e61b8cb1b68ef983087775ed44c 100644 (file)
@@ -1128,9 +1128,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];
@@ -1143,10 +1143,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()
index cba7b8ec4b6f5af9fc91821cd662bd5ccc76ec7a..e138726cdec4e63ae8bb0ed7d8339be0ca05ea96 100644 (file)
@@ -7018,6 +7018,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 %