diff options
author | Brian King <brking@linux.vnet.ibm.com> | 2015-06-12 03:45:20 +0200 |
---|---|---|
committer | James Bottomley <JBottomley@Odin.com> | 2015-07-30 21:41:21 +0200 |
commit | 359d96e73cea0ef2429db20e1a2322c75bc13830 (patch) | |
tree | 380b5583d907cc756bc35ef10ccaab0f1b842f91 /drivers/scsi/ipr.h | |
parent | ipr: Byte swapping for device_id attribute in sysfs (diff) | |
download | linux-359d96e73cea0ef2429db20e1a2322c75bc13830.tar.xz linux-359d96e73cea0ef2429db20e1a2322c75bc13830.zip |
ipr: Endian / sparse fixes
Some misc fixes for endianness checking with sparse so sparse with
endian checking now runs clean. Fixes a minor bug in the process
which was uncovered by sparse which would result in unnecessary
error recovery for check conditions.
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Reviewed-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
Diffstat (limited to 'drivers/scsi/ipr.h')
-rw-r--r-- | drivers/scsi/ipr.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h index 6b97ee45c7b4..0cca05f0fc3d 100644 --- a/drivers/scsi/ipr.h +++ b/drivers/scsi/ipr.h @@ -1005,13 +1005,13 @@ struct ipr_hostrcb_type_24_error { struct ipr_hostrcb_type_07_error { u8 failure_reason[64]; struct ipr_vpd vpd; - u32 data[222]; + __be32 data[222]; }__attribute__((packed, aligned (4))); struct ipr_hostrcb_type_17_error { u8 failure_reason[64]; struct ipr_ext_vpd vpd; - u32 data[476]; + __be32 data[476]; }__attribute__((packed, aligned (4))); struct ipr_hostrcb_config_element { @@ -1289,18 +1289,17 @@ struct ipr_resource_entry { (((res)->bus << 24) | ((res)->target << 8) | (res)->lun) u8 ata_class; - - u8 flags; - __be16 res_flags; - u8 type; + u16 flags; + u16 res_flags; + u8 qmodel; struct ipr_std_inq_data std_inq_data; __be32 res_handle; __be64 dev_id; - __be64 lun_wwn; + u64 lun_wwn; struct scsi_lun dev_lun; u8 res_path[8]; |