From: Lv Zheng Date: Wed, 14 Jan 2015 11:28:41 +0000 (+0800) Subject: ACPI / EC: Fix a code path that global lock is not held X-Git-Tag: fixes-v4.0-rc1~160^2~10^2~11 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3e14329517ee190d34455d729430ef9d0473675;p=pandora-kernel.git ACPI / EC: Fix a code path that global lock is not held Currently QR_EC is queued up on CPU 0 to be safe with SMM because there is no global lock held for acpi_ec_gpe_query(). As we are about to move QR_EC to a non CPU 0 bound work queue to avoid invoking kmalloc() in advance_transaction(), we have to acquire global lock for the new QR_EC work item to avoid regressions. Known issue: 1. Global lock for acpi_ec_clear(). This is an existing issue that acpi_ec_clear() which invokes acpi_ec_sync_query() also suffers from the same issue. But this patch's target is only the code to invoke acpi_ec_sync_query() in a CPU 0 bound work queue item, and the acpi_ec_clear() can be automatically fixed by further patch that merges the redundant code, so it is left unchanged. Signed-off-by: Lv Zheng Signed-off-by: Rafael J. Wysocki --- Reading git-diff-tree failed