Commit 71708851d3e019d6090f46bcff4dff432271a219

Authored by Laurent Dufour
Committed by Greg Kroah-Hartman
1 parent bccd8fd860

powerpc/xmon: Fix another endiannes issue in RTAS call from xmon

commit e6eb2eba494d6f99e69ca3c3748cd37a2544ab38 upstream.

The commit 3b8a3c010969 ("powerpc/pseries: Fix endiannes issue in RTAS
call from xmon") was fixing an endianness issue in the call made from
xmon to RTAS.

However, as Michael Ellerman noticed, this fix was not complete, the
token value was not byte swapped. This lead to call an unexpected and
most of the time unexisting RTAS function, which is silently ignored by
RTAS.

This fix addresses this hole.

Reported-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Showing 1 changed file with 1 additions and 0 deletions Side-by-side Diff

arch/powerpc/xmon/xmon.c
... ... @@ -293,6 +293,7 @@
293 293 args.token = rtas_token("set-indicator");
294 294 if (args.token == RTAS_UNKNOWN_SERVICE)
295 295 return;
  296 + args.token = cpu_to_be32(args.token);
296 297 args.nargs = cpu_to_be32(3);
297 298 args.nret = cpu_to_be32(1);
298 299 args.rets = &args.args[3];