TPM: remove unnecessary little endian conversion
authorHon Ching \(Vicky\) Lo <honclo@linux.vnet.ibm.com>
Wed, 17 Jun 2015 22:17:09 +0000 (18:17 -0400)
committerPeter Huewe <peterhuewe@gmx.de>
Sun, 18 Oct 2015 23:09:31 +0000 (01:09 +0200)
The base pointer for the event log is allocated in the local
kernel (in prom_instantiate_sml()), therefore it is already in
the host's endian byte order and requires no conversion.

The content of the 'basep' pointer in read_log() stores the
base address of the log. This patch ensures that it is correctly
implemented.

Signed-off-by: Hon Ching(Vicky) Lo <honclo@linux.vnet.ibm.com>
Signed-off-by: Joy Latten <jmlatten@linux.vnet.ibm.com>
Reviewed-by: Ashley Lai <ashley@ahsleylai.com>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
drivers/char/tpm/tpm_of.c

index 66b3be417cccfaec2e4e4e8bbd9ffe3b53830b4e..1141456a4b1f1b974192e89574af9e165051922b 100644 (file)
@@ -24,7 +24,7 @@ int read_log(struct tpm_bios_log *log)
 {
        struct device_node *np;
        const u32 *sizep;
-       const __be64 *basep;
+       const u64 *basep;
 
        if (log->bios_event_log != NULL) {
                pr_err("%s: ERROR - Eventlog already initialized\n", __func__);
@@ -63,7 +63,7 @@ int read_log(struct tpm_bios_log *log)
 
        log->bios_event_log_end = log->bios_event_log + *sizep;
 
-       memcpy(log->bios_event_log, __va(be64_to_cpup(basep)), *sizep);
+       memcpy(log->bios_event_log, __va(*basep), *sizep);
 
        return 0;