Added Little Endian support to vtpm module
authorhonclo <honclo@imap.linux.ibm.com>
Fri, 13 Feb 2015 02:02:24 +0000 (21:02 -0500)
committerPeter Huewe <peterhuewe@gmx.de>
Sun, 15 Feb 2015 16:36:05 +0000 (17:36 +0100)
commiteb71f8a5e33fa1066fb92f0111ab366a341e1f6c
tree7c6c007038f542d86133a7645f5ac631426ad726
parent4d5f2051cd24adc19a645e920344e05afe8d69b9
Added Little Endian support to vtpm module

The tpm_ibmvtpm module is affected by an unaligned access problem.
ibmvtpm_crq_get_version failed with rc=-4 during boot when vTPM is
enabled in Power partition, which supports both little endian and
big endian modes.

We added little endian support to fix this problem:
1) added cpu_to_be64 calls to ensure BE data is sent from an LE OS.
2) added be16_to_cpu and be32_to_cpu calls to make sure data received
   is in LE format on a LE OS.

Signed-off-by: Hon Ching(Vicky) Lo <honclo@linux.vnet.ibm.com>
Signed-off-by: Joy Latten <jmlatten@linux.vnet.ibm.com>
Cc: <stable@vger.kernel.org>
[phuewe: manually applied the patch :( ]
Reviewed-by: Ashley Lai <ashley@ahsleylai.com>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
drivers/char/tpm/tpm_ibmvtpm.c