[PATCH] ACPICA: exserial: don't forget to handle FFixedHW opregions for reading

Daniil Tatianin posted 1 patch 1 week, 2 days ago
drivers/acpi/acpica/exserial.c | 6 ++++++
1 file changed, 6 insertions(+)
[PATCH] ACPICA: exserial: don't forget to handle FFixedHW opregions for reading
Posted by Daniil Tatianin 1 week, 2 days ago
The initial commit that introduced support for FFixedHW operation
regions did add a special case in the AcpiExReadSerialBus If, but
forgot to actually handle it inside the switch, so add the missing case
to prevent reads from failing with AE_AML_INVALID_SPACE_ID.

Link: https://github.com/acpica/acpica/pull/998
Fixes: ee64b827a9a ("ACPICA: Add support for FFH Opregion special context data")
Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
---
 drivers/acpi/acpica/exserial.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/acpi/acpica/exserial.c b/drivers/acpi/acpica/exserial.c
index 5241f4c01c76..89a4ac447a2b 100644
--- a/drivers/acpi/acpica/exserial.c
+++ b/drivers/acpi/acpica/exserial.c
@@ -201,6 +201,12 @@ acpi_ex_read_serial_bus(union acpi_operand_object *obj_desc,
 		function = ACPI_READ;
 		break;
 
+	case ACPI_ADR_SPACE_FIXED_HARDWARE:
+
+		buffer_length = ACPI_FFH_INPUT_BUFFER_SIZE;
+		function = ACPI_READ;
+		break;
+
 	default:
 		return_ACPI_STATUS(AE_AML_INVALID_SPACE_ID);
 	}
-- 
2.34.1
Re: [PATCH] ACPICA: exserial: don't forget to handle FFixedHW opregions for reading
Posted by Rafael J. Wysocki 1 day, 5 hours ago
On Tue, Apr 1, 2025 at 8:46 PM Daniil Tatianin
<d-tatianin@yandex-team.ru> wrote:
>
> The initial commit that introduced support for FFixedHW operation
> regions did add a special case in the AcpiExReadSerialBus If, but
> forgot to actually handle it inside the switch, so add the missing case
> to prevent reads from failing with AE_AML_INVALID_SPACE_ID.
>
> Link: https://github.com/acpica/acpica/pull/998
> Fixes: ee64b827a9a ("ACPICA: Add support for FFH Opregion special context data")
> Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
> ---
>  drivers/acpi/acpica/exserial.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/drivers/acpi/acpica/exserial.c b/drivers/acpi/acpica/exserial.c
> index 5241f4c01c76..89a4ac447a2b 100644
> --- a/drivers/acpi/acpica/exserial.c
> +++ b/drivers/acpi/acpica/exserial.c
> @@ -201,6 +201,12 @@ acpi_ex_read_serial_bus(union acpi_operand_object *obj_desc,
>                 function = ACPI_READ;
>                 break;
>
> +       case ACPI_ADR_SPACE_FIXED_HARDWARE:
> +
> +               buffer_length = ACPI_FFH_INPUT_BUFFER_SIZE;
> +               function = ACPI_READ;
> +               break;
> +
>         default:
>                 return_ACPI_STATUS(AE_AML_INVALID_SPACE_ID);
>         }
> --

Applied as 6.16 material, thanks!