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)))