]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI / LPSS: Ignore acpi_device_fix_up_power() return value
authorHans de Goede <hdegoede@redhat.com>
Sat, 8 Dec 2018 12:59:24 +0000 (13:59 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 12 Dec 2018 22:26:29 +0000 (23:26 +0100)
commitde341ddca79f965d7b8974a46497eca755f4be0a
tree7e307773d1a32388b2a3182ddb2d2d0b4a7e5f64
parent25f22d11fce0938a8b7a4e20237f87b2e0c53fb7
ACPI / LPSS: Ignore acpi_device_fix_up_power() return value

Ignore acpi_device_fix_up_power() return value. If we return an error
we end up with acpi_default_enumeration() still creating a platform-
device for the device and we end up with the device still being used
but without the special LPSS related handling which is not useful.

Specicifically ignoring the error fixes the touchscreen no longer
working after a suspend/resume on a Prowise PT301 tablet.

This tablet has a broken _PS0 method on the touchscreen's I2C controller,
causing acpi_device_fix_up_power() to fail, causing fallback to standard
platform-dev handling and specifically causing acpi_lpss_save/restore_ctx
to not run.

The I2C controllers _PS0 method does actually turn on the device, but then
does some more nonsense which fails when run during early boot trying to
use I2C opregion handling on another not-yet registered I2C controller.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_lpss.c