ibmvscsi: Add endian conversions to sysfs attribute show functions
authorTyrel Datwyler <tyreld@linux.vnet.ibm.com>
Thu, 11 Feb 2016 01:32:27 +0000 (19:32 -0600)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 24 Feb 2016 02:27:02 +0000 (21:27 -0500)
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 <tyreld@linux.vnet.ibm.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ibmvscsi/ibmvscsi.c

index e8d4af5..6025481 100644 (file)
@@ -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;
 }