FAILED: patch "[PATCH] ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100" failed to apply to 4.14-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From a7583e72a5f22470d3e6fd3b6ba912892242339f Mon Sep 17 00:00:00 2001
From: Yunfeng Ye <[email protected]>
Date: Thu, 14 Nov 2019 15:16:24 +0800
Subject: [PATCH] ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100
The commit 0f27cff8597d ("ACPI: sysfs: Make ACPI GPE mask kernel parameter cover all GPEs") says:
"Use a bitmap of size 0xFF instead of a u64 for the GPE mask so 256
GPEs can be masked"
But the masking of GPE 0xFF it not supported and the check condition "gpe > ACPI_MASKABLE_GPE_MAX" is not valid because the type of gpe is u8.
So modify the macro ACPI_MASKABLE_GPE_MAX to 0x100, and drop the "gpe > ACPI_MASKABLE_GPE_MAX" check. In addition, update the docs "Format" for acpi_mask_gpe parameter.
Documentation/admin-guide/kernel-parameters.txt +1 -1
@@ -113,7 +113,7 @@ the GPE dispatcher. This facility can be used to prevent such uncontrolled GPE floodings. - Format: <int> + Format: <byte> acpi_no_auto_serialize [HW,ACPI] Disable auto-serialization of AML methods
drivers/acpi/sysfs.c +3 -3
@@ -819,14 +819,14 @@ static ssize_t counter_set(struct kobject *kobj,* interface: * echo unmask > /sys/firmware/acpi/interrupts/gpe00 */ -#define ACPI_MASKABLE_GPE_MAX 0xFF +#define ACPI_MASKABLE_GPE_MAX 0x100 static DECLARE_BITMAP(acpi_masked_gpes_map, ACPI_MASKABLE_GPE_MAX) __initdata;static int __init acpi_gpe_set_masked_gpes (char *val) {u8 gpe; -if (kstrtou8 (val,0 , &gpe) || gpe >ACPI_MASKABLE_GPE_MAX ) +if (kstrtou8 (val,0 , &gpe))return -EINVAL ;set_bit (gpe, acpi_masked_gpes_map);
@@ -838,7 +838,7 @@ void __init acpi_gpe_apply_masked_gpes(void) {acpi_handle handle;acpi_status status; -u8 gpe; +u16 gpe;for_each_set_bit (gpe, acpi_masked_gpes_map,ACPI_MASKABLE_GPE_MAX ) { status =acpi_get_gpe_device (gpe, &handle);
Sasha Levin
maintainerQuoted 26 lines · On Tue, Jan 07, 2020 at 02:15:08PM +0100, [email protected] wrote:
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From
a7583e72a5f22470d3e6fd3b6ba912892242339fMon Sep 17 00:00:00 2001
From: Yunfeng Ye <[email protected]>
Date: Thu, 14 Nov 2019 15:16:24 +0800
Subject: [PATCH] ACPI: sysfs: ChangeACPI_MASKABLE_GPE_MAXto0x100The commit
0f27cff8597d("ACPI: sysfs: Make ACPI GPE mask kernel parameter cover all GPEs") says:
"Use a bitmap of size0xFFinstead of a u64 for the GPE mask so 256
GPEs can be masked"But the masking of GPE
0xFFit not supported and the check condition "gpe >ACPI_MASKABLE_GPE_MAX" is not valid because the type of gpe is u8.
Quoted 8 lines
So modify the macro
ACPI_MASKABLE_GPE_MAXto0x100, and drop the "gpe >ACPI_MASKABLE_GPE_MAX" check. In addition, update the docs "Format" foracpi_mask_gpeparameter.Fixes 0f27cff8597d ("ACPI: sysfs: Make ACPI GPE mask kernel parameter cover all GPEs")Signed-off-by Yunfeng Ye <[email protected]>[ rjw: Use u16 as gpe data type in acpi_gpe_apply_masked_gpes() ]Signed-off-by Rafael J. Wysocki <[email protected]>
We don't need this on 4.14 and older becuase they don't have 0f27cff8597d ("ACPI: sysfs: Make ACPI GPE mask kernel parameter cover all GPEs").
Signature · 2 lines
Thanks, Sasha