The values returned by the show functions for the host os_type,
mad_version, and partition_number attributes get their values
directly from the madapter_info struct whose associated fields are
__be32 typed. Added endian conversion to ensure these values are
sane on LE platforms.

Signed-off-by: Tyrel Datwyler <tyr...@linux.vnet.ibm.com>
Reviewed-by: Johannes Thumshirn <jthumsh...@suse.de>
---
 drivers/scsi/ibmvscsi/ibmvscsi.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c
index e8d4af5..6025481 100644
--- a/drivers/scsi/ibmvscsi/ibmvscsi.c
+++ b/drivers/scsi/ibmvscsi/ibmvscsi.c
@@ -1983,7 +1983,7 @@ static ssize_t show_host_partition_number(struct device 
*dev,
        int len;
 
        len = snprintf(buf, PAGE_SIZE, "%d\n",
-                      hostdata->madapter_info.partition_number);
+                      be32_to_cpu(hostdata->madapter_info.partition_number));
        return len;
 }
 
@@ -2003,7 +2003,7 @@ static ssize_t show_host_mad_version(struct device *dev,
        int len;
 
        len = snprintf(buf, PAGE_SIZE, "%d\n",
-                      hostdata->madapter_info.mad_version);
+                      be32_to_cpu(hostdata->madapter_info.mad_version));
        return len;
 }
 
@@ -2022,7 +2022,8 @@ static ssize_t show_host_os_type(struct device *dev,
        struct ibmvscsi_host_data *hostdata = shost_priv(shost);
        int len;
 
-       len = snprintf(buf, PAGE_SIZE, "%d\n", hostdata->madapter_info.os_type);
+       len = snprintf(buf, PAGE_SIZE, "%d\n",
+                      be32_to_cpu(hostdata->madapter_info.os_type));
        return len;
 }
 
-- 
2.5.0

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to