]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI / EC: Fix code ordering issue in ec_remove_handlers()
authorLv Zheng <lv.zheng@intel.com>
Fri, 8 Jul 2016 01:25:05 +0000 (09:25 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 8 Jul 2016 19:44:12 +0000 (21:44 +0200)
commitbf001d25ad24573721e0b87a7a272d678ef50a2c
tree530ec2195a8df480e5e2f197cf21d61cf3143951
parent67cdf5a8c0d1e87063033bea9387a1c64c63e552
ACPI / EC: Fix code ordering issue in ec_remove_handlers()

There is an order issue in ec_remove_handlers() that acpi_ec_stop()
is called before removing the operation region handler. That is
incorrect, because the operation region handler removal triggers
_REG(DISCONNECT) which may result in new EC transactions to carry
out.

That existing issue has been triggered by the following commit:

    Commit: 856cd487ff6f2fe6db807e8314d69a7f939918ff
    Subject: ACPI / EC: Fix a boot EC regresion by restoring boot EC

which changed the driver to call ec_remove_handlers() after invoking
_REG(CONNECT), so the issue has become visible.

Fixes: 856cd487ff6f (ACPI / EC: Fix a boot EC regresion by restoring boot EC)
Link: https://bugzilla.kernel.org/show_bug.cgi?id=102421
Reported-and-tested-by: Wolfram Sang <wsa@the-dreams.de>
Reported-by: Nicholas <nkudriavtsev@gmail.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
[ rjw: Changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/ec.c