[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN6PR1201MB013138E0E32481E623C35715F8840@BN6PR1201MB0131.namprd12.prod.outlook.com>
Date: Tue, 22 Aug 2017 14:04:27 +0000
From: "Ghannam, Yazen" <Yazen.Ghannam@....com>
To: "linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"rjw@...ysocki.net" <rjw@...ysocki.net>,
"lenb@...nel.org" <lenb@...nel.org>,
"linux-edac@...r.kernel.org" <linux-edac@...r.kernel.org>,
Borislav Petkov <bp@...e.de>, Tony Luck <tony.luck@...el.com>
Subject: RE: [PATCH] ACPI, APEI, EINJ: Subtract any matching Register Region
from Trigger resources
+EDAC, Boris and Tony for RAS comments.
Any comments from ACPI folks?
Thanks,
Yazen
> -----Original Message-----
> From: Ghannam, Yazen
> Sent: Thursday, August 10, 2017 1:58 PM
> To: linux-acpi@...r.kernel.org
> Cc: linux-kernel@...r.kernel.org; rjw@...ysocki.net; lenb@...nel.org;
> Ghannam, Yazen <Yazen.Ghannam@....com>
> Subject: [PATCH] ACPI, APEI, EINJ: Subtract any matching Register Region from
> Trigger resources
>
> From: Yazen Ghannam <yazen.ghannam@....com>
>
> ACPI defines a number of instructions to use for triggering errors. However
> we are currently removing the address resources from the trigger resources
> for only the WRITE_REGISTER_VALUE instruction. This leads to a resource
> conflict for any other valid instruction.
>
> Remove the WRITE_REGISTER_VALUE instruction check to fix the resource
> conflict with other instructions.
>
> Fixes: b4e008dc53a3 ("ACPI, APEI, EINJ, Refine the fix of resource conflict")
> Signed-off-by: Yazen Ghannam <yazen.ghannam@....com>
> ---
> drivers/acpi/apei/einj.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c
> index ec50c32ea3da..e0f201ea161d 100644
> --- a/drivers/acpi/apei/einj.c
> +++ b/drivers/acpi/apei/einj.c
> @@ -281,7 +281,6 @@ static struct acpi_generic_address
> *einj_get_trigger_parameter_region(
> ((char *)trigger_tab + sizeof(struct acpi_einj_trigger));
> for (i = 0; i < trigger_tab->entry_count; i++) {
> if (entry->action == ACPI_EINJ_TRIGGER_ERROR &&
> - entry->instruction == ACPI_EINJ_WRITE_REGISTER_VALUE &&
> entry->register_region.space_id ==
> ACPI_ADR_SPACE_SYSTEM_MEMORY &&
> (entry->register_region.address & param2) == (param1 &
> param2))
> --
> 2.7.4
Powered by blists - more mailing lists