diff --git a/drivers/i2c/busses/i2c-hisi.c b/drivers/i2c/busses/i2c-hisi.c index e6e40236e6ec620a608555bb173be3ef749ffd42..0381b91f9be8a6abe7b6c7c0201221f5c3f596e6 100644 --- a/drivers/i2c/busses/i2c-hisi.c +++ b/drivers/i2c/busses/i2c-hisi.c @@ -499,7 +499,10 @@ static void hisi_i2c_init_recovery_info(struct hisi_i2c_controller *ctlr) struct acpi_device *adev = ACPI_COMPANION(ctlr->dev); struct gpio_desc *gpio; - if (!acpi_has_method(adev->handle, HISI_I2C_PIN_MUX_METHOD)) + if (acpi_disabled) + return; + + if (!adev || !acpi_has_method(adev->handle, HISI_I2C_PIN_MUX_METHOD)) return; gpio = devm_gpiod_get_optional(ctlr->dev, "scl", GPIOD_OUT_HIGH);