[PATCH v2] acpi,srat: Fix incorrect device handle check for Generic Initiator

Shuai Xue posted 1 patch 2 weeks, 5 days ago
drivers/acpi/numa/srat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v2] acpi,srat: Fix incorrect device handle check for Generic Initiator
Posted by Shuai Xue 2 weeks, 5 days ago
The Generic Initiator Affinity Structure in SRAT table uses device
handle type field to indicate the device type. According to ACPI
specification, the device handle type value of 1 represents PCI device,
not 0.

Fixes: 894c26a1c274 ("ACPI: Support Generic Initiator only domains")
Reported-by: Wu Zongyong <wuzongyong@linux.alibaba.com>
Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com>
---
changes since v1: drop changes in actbl3.h to make it easy to progress per Jonathan
---
 drivers/acpi/numa/srat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c
index 53816dfab645..aa87ee1583a4 100644
--- a/drivers/acpi/numa/srat.c
+++ b/drivers/acpi/numa/srat.c
@@ -237,7 +237,7 @@ acpi_table_print_srat_entry(struct acpi_subtable_header *header)
 		struct acpi_srat_generic_affinity *p =
 			(struct acpi_srat_generic_affinity *)header;
 
-		if (p->device_handle_type == 0) {
+		if (p->device_handle_type == 1) {
 			/*
 			 * For pci devices this may be the only place they
 			 * are assigned a proximity domain
-- 
2.39.3
Re: [PATCH v2] acpi,srat: Fix incorrect device handle check for Generic Initiator
Posted by Jonathan Cameron 2 weeks, 3 days ago
On Sat, 13 Sep 2025 10:32:24 +0800
Shuai Xue <xueshuai@linux.alibaba.com> wrote:

> The Generic Initiator Affinity Structure in SRAT table uses device
> handle type field to indicate the device type. According to ACPI
> specification, the device handle type value of 1 represents PCI device,
> not 0.
> 
> Fixes: 894c26a1c274 ("ACPI: Support Generic Initiator only domains")
> Reported-by: Wu Zongyong <wuzongyong@linux.alibaba.com>
> Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com>

Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>

Thanks!

> ---
> changes since v1: drop changes in actbl3.h to make it easy to progress per Jonathan
> ---
>  drivers/acpi/numa/srat.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c
> index 53816dfab645..aa87ee1583a4 100644
> --- a/drivers/acpi/numa/srat.c
> +++ b/drivers/acpi/numa/srat.c
> @@ -237,7 +237,7 @@ acpi_table_print_srat_entry(struct acpi_subtable_header *header)
>  		struct acpi_srat_generic_affinity *p =
>  			(struct acpi_srat_generic_affinity *)header;
>  
> -		if (p->device_handle_type == 0) {
> +		if (p->device_handle_type == 1) {
>  			/*
>  			 * For pci devices this may be the only place they
>  			 * are assigned a proximity domain