A buffer returned by H_VTERM_PARTNER_INFO contains device information
in big endian format, causing problems for little endian architectures.
This patch ensures that they are in cpu endian.

Signed-off-by: Thomas Falcon <tlfal...@linux.vnet.ibm.com>
---
 arch/powerpc/platforms/pseries/hvcserver.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/platforms/pseries/hvcserver.c 
b/arch/powerpc/platforms/pseries/hvcserver.c
index 4557e91..eedb645 100644
--- a/arch/powerpc/platforms/pseries/hvcserver.c
+++ b/arch/powerpc/platforms/pseries/hvcserver.c
@@ -163,8 +163,8 @@ int hvcs_get_partner_info(uint32_t unit_address, struct 
list_head *head,
                        return retval;
                }
 
-               last_p_partition_ID = pi_buff[0];
-               last_p_unit_address = pi_buff[1];
+               last_p_partition_ID = be64_to_cpu(pi_buff[0]);
+               last_p_unit_address = be64_to_cpu(pi_buff[1]);
 
                /* This indicates that there are no further partners */
                if (last_p_partition_ID == ~0UL
-- 
1.9.3

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

Reply via email to