Older kernels on little endian systems had the device_id endian swapped in sysfs. This has since been fixed up.
Signed-off-by: Brian King <brk...@linux.vnet.ibm.com> --- iprlib.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff -puN iprlib.c~iprutils_device_id_endian_swap iprlib.c --- iprutils.patched/iprlib.c~iprutils_device_id_endian_swap 2016-10-04 13:36:34.373829252 -0500 +++ iprutils.patched-bjking1/iprlib.c 2016-10-04 13:36:34.381829202 -0500 @@ -7214,6 +7214,15 @@ static int ipr_get_saved_dev_attr(struct dev->scsi_dev_data->device_id); rc = ipr_get_saved_attr(dev->ioa, category, field, value); + + if (rc) { + /* Older kernels reported a byte swapped device_id, which has since + been changed. Check both for compatibility reasons */ + sprintf(category,"[%s %lx]", IPR_CATEGORY_DEVICE, + htobe64(dev->scsi_dev_data->device_id)); + + rc = ipr_get_saved_attr(dev->ioa, category, field, value); + } } if (rc) { _ ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Iprdd-devel mailing list Iprdd-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/iprdd-devel