From: Rafael J. Wysocki Date: Mon, 25 Jul 2016 11:42:00 +0000 (+0200) Subject: Merge branches 'acpi-ec', 'acpi-video', 'acpi-button' and 'acpi-thermal' X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f6bc0a168ef946344bdaf78337b59b7ee214d9b3;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git Merge branches 'acpi-ec', 'acpi-video', 'acpi-button' and 'acpi-thermal' * acpi-ec: ACPI / EC: Remove wrong ECDT correction quirks ACPI / EC: Cleanup boot EC code using acpi_ec_alloc() * acpi-video: ACPI / video: Dummy acpi_video_register should return error code ACPI / video: skip evaluating _DOD when it does not exist ACPI / video: Thinkpad X201 Tablet needs video_detect_force_video * acpi-button: ACPI / button: Add quirks for initial lid state notification ACPI / button: Refactor functions to eliminate redundant code ACPI / button: Remove initial lid state notification * acpi-thermal: ACPI / thermal: Remove create_workqueue() --- f6bc0a168ef946344bdaf78337b59b7ee214d9b3 diff --cc drivers/acpi/ec.c index 290d6f5be44b,b1050a0c10fb,73c76d646064,73c76d646064,73c76d646064..999a10914678 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@@@@@ -1337,20 -1339,7 -1339,7 -1339,7 -1339,7 +1337,20 @@@@@@ static void ec_remove_handlers(struct a pr_err("failed to remove space handler\n"); clear_bit(EC_FLAGS_EC_HANDLER_INSTALLED, &ec->flags); } + ++++ /* ++++ * Stops handling the EC transactions after removing the operation ++++ * region handler. This is required because _REG(DISCONNECT) ++++ * invoked during the removal can result in new EC transactions. ++++ * ++++ * Flushes the EC requests and thus disables the GPE before ++++ * removing the GPE handler. This is required by the current ACPICA ++++ * GPE core. ACPICA GPE core will automatically disable a GPE when ++++ * it is indicated but there is no way to handle it. So the drivers ++++ * must disable the GPEs prior to removing the GPE handlers. ++++ */ ++++ acpi_ec_stop(ec, false); +++ if (test_bit(EC_FLAGS_GPE_HANDLER_INSTALLED, &ec->flags)) { if (ACPI_FAILURE(acpi_remove_gpe_handler(NULL, ec->gpe, &acpi_ec_gpe_handler)))