ACPI / platform / LPSS: disable async suspend/resume of LPSS devices
authorFu Zhonghui <zhonghui.fu@linux.intel.com>
Wed, 24 Sep 2014 20:42:26 +0000 (22:42 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 24 Sep 2014 20:42:26 +0000 (22:42 +0200)
On some systems (Asus T100 in particular) there are strict ordering
dependencies between LPSS devices with respect to power management
that break if they suspend/resume asynchronously.

In theory it should be possible to follow those dependencies in the
async suspend/resume case too (the ACPI tables tell as that the
dependencies are there), but since we're missing infrastructure
for that at the moment, disable async suspend/resume for all of
the LPSS devices for the time being.

Link: http://marc.info/?l=linux-acpi&m=141158962321905&w=2
Fixes: 8ce62f85a81f (ACPI / platform / LPSS: Enable async suspend/resume of LPSS devices)
Signed-off-by: Li Aubrey <aubrey.li@linux.intel.com>
Signed-off-by: Fu Zhonghui <zhonghui.fu@linux.intel.com>
Cc: 3.16+ <stable@vger.kernel.org> # 3.16+
[ rjw: Changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_lpss.c

index fddc1e86f9d0e73648a26de5cdc1fd82ec9f9b03..b0ea767c86968ceac331294a6f74694c486f39c2 100644 (file)
@@ -419,7 +419,6 @@ static int acpi_lpss_create_device(struct acpi_device *adev,
        adev->driver_data = pdata;
        pdev = acpi_create_platform_device(adev);
        if (!IS_ERR_OR_NULL(pdev)) {
-               device_enable_async_suspend(&pdev->dev);
                return 1;
        }