From 970d983083bd0a370357c6fe5d44ac6c7be8c84c Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Thu, 13 Feb 2025 09:14:47 +0000 Subject: [PATCH] drivers/usb/intel_bluetooth: Guard BTRK if no GPIO passed Don't attempt any GPIO operations of there isn't a reset GPIO specified. Change-Id: I9c97963e61f790f2d9c55d8ec1a384a5779782b4 Signed-off-by: Sean Rhodes Reviewed-on: https://review.coreboot.org/c/coreboot/+/86401 Reviewed-by: Matt DeVillier Tested-by: build bot (Jenkins) --- src/drivers/usb/acpi/intel_bluetooth.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/drivers/usb/acpi/intel_bluetooth.c b/src/drivers/usb/acpi/intel_bluetooth.c index 151930fc4a..6307dcb35d 100644 --- a/src/drivers/usb/acpi/intel_bluetooth.c +++ b/src/drivers/usb/acpi/intel_bluetooth.c @@ -328,17 +328,19 @@ void acpi_device_intel_bt_common(const struct acpi_gpio *enable_gpio, */ acpigen_write_method("BTRK", 1); { - acpigen_write_if_lequal_op_int(ARG0_OP, 1); - { - /* De-assert reset */ - acpigen_disable_tx_gpio(reset_gpio); + if (reset_gpio->pin_count) { + acpigen_write_if_lequal_op_int(ARG0_OP, 1); + { + /* De-assert reset */ + acpigen_disable_tx_gpio(reset_gpio); + } + acpigen_write_else(); + { + /* Assert Reset */ + acpigen_enable_tx_gpio(reset_gpio); + } + acpigen_pop_len(); } - acpigen_write_else(); - { - /* Assert Reset */ - acpigen_enable_tx_gpio(reset_gpio); - } - acpigen_pop_len(); } acpigen_pop_len();