On 2/8/19 9:22 AM, Shivasharan S wrote:
Add padding to make the structure variables in MR_HOST_DEVICE_LIST_ENTRY
64-bit aligned.
Also, add reserved fields to MR_HOST_DEVICE_LIST for future firmware usage.
Signed-off-by: Shivasharan S <shivasharan.srikanteshwara@xxxxxxxxxxxx>
---
drivers/scsi/megaraid/megaraid_sas.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/megaraid/megaraid_sas.h b/drivers/scsi/megaraid/megaraid_sas.h
index fe1173f02c54..eb48ca17dca0 100644
--- a/drivers/scsi/megaraid/megaraid_sas.h
+++ b/drivers/scsi/megaraid/megaraid_sas.h
@@ -807,13 +807,14 @@ struct MR_HOST_DEVICE_LIST_ENTRY {
} flags;
u8 scsi_type;
__le16 target_id;
- u8 reserved[2];
+ u8 reserved[4];
__le64 sas_addr[2];
} __packed;
struct MR_HOST_DEVICE_LIST {
__le32 size;
__le32 count;
+ __le32 reserved[2];
struct MR_HOST_DEVICE_LIST_ENTRY host_device_list[1];
} __packed;
Ho-hum.
Move fields in a structure used for communication with the HBA?
How is that supposed to work?
Do we need a firmware update for the HBA to handle this correctly?
Or did it never work, and we need the padding to retrieve the
information correctly?
Please clarify.
Cheers,
Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
hare@xxxxxxx +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)