Re: [PATCH] tpm, tpm_crb: Handle 64-bit resource in crb_check_resource()
From: Jarkko Sakkinen
Date: Tue Jan 03 2017 - 13:28:12 EST
On Sun, Dec 18, 2016 at 10:20:53PM -0600, Jiandi An wrote:
> crb_check_resource() in TPM CRB driver calls
> acpi_dev_resource_memory() which only handles 32-bit resources.
> Adding a call to acpi_dev_resource_address_space() in TPM CRB
> driver which handles 64-bit resources.
>
> Signed-off-by: Jiandi An <anjiandi@xxxxxxxxxxxxxx>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
/Jarkko
> ---
> drivers/char/tpm/tpm_crb.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/char/tpm/tpm_crb.c b/drivers/char/tpm/tpm_crb.c
> index 717b6b4..86f355b 100644
> --- a/drivers/char/tpm/tpm_crb.c
> +++ b/drivers/char/tpm/tpm_crb.c
> @@ -264,10 +264,12 @@ static bool crb_req_canceled(struct tpm_chip *chip, u8 status)
> static int crb_check_resource(struct acpi_resource *ares, void *data)
> {
> struct resource *io_res = data;
> - struct resource res;
> + struct resource_win win;
> + struct resource *res = &(win.res);
>
> - if (acpi_dev_resource_memory(ares, &res)) {
> - *io_res = res;
> + if (acpi_dev_resource_memory(ares, res) ||
> + acpi_dev_resource_address_space(ares, &win)) {
> + *io_res = *res;
> io_res->name = NULL;
> }
>
> --
> Jiandi An
> Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
> Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
>