le64_to_cpu() was applied twice to the physical addresses read from the
control area. This hasn't shown any visible regressions because CRB
driver has been tested only on the little endian platofrms so far.

Reported-by: Matt Fleming <matt.flem...@intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakki...@linux.intel.com>
---
 drivers/char/tpm/tpm_crb.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/char/tpm/tpm_crb.c b/drivers/char/tpm/tpm_crb.c
index b26ceee..44f9d20 100644
--- a/drivers/char/tpm/tpm_crb.c
+++ b/drivers/char/tpm/tpm_crb.c
@@ -267,7 +267,7 @@ static int crb_acpi_add(struct acpi_device *device)
 
        memcpy_fromio(&pa, &priv->cca->cmd_pa, 8);
        pa = le64_to_cpu(pa);
-       priv->cmd = devm_ioremap_nocache(dev, le64_to_cpu(pa),
+       priv->cmd = devm_ioremap_nocache(dev, pa,
                                         ioread32(&priv->cca->cmd_size));
        if (!priv->cmd) {
                dev_err(dev, "ioremap of the command buffer failed\n");
@@ -276,7 +276,7 @@ static int crb_acpi_add(struct acpi_device *device)
 
        memcpy_fromio(&pa, &priv->cca->rsp_pa, 8);
        pa = le64_to_cpu(pa);
-       priv->rsp = devm_ioremap_nocache(dev, le64_to_cpu(pa),
+       priv->rsp = devm_ioremap_nocache(dev, pa,
                                         ioread32(&priv->cca->rsp_size));
        if (!priv->rsp) {
                dev_err(dev, "ioremap of the response buffer failed\n");
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to