]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ACPICA: Tables: Fix regression introduced by a too early mechanism enabling
authorLv Zheng <lv.zheng@intel.com>
Tue, 9 May 2017 05:57:31 +0000 (13:57 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 29 May 2017 21:58:00 +0000 (23:58 +0200)
In the Linux kernel, acpi_get_table() "clones" haven't been fully
balanced by acpi_put_table() invocations.  In upstream ACPICA, due to
the design change, there are also unbalanced acpi_get_table_by_index()
invocations requiring special care.

acpi_get_table() reference counting mismatches may occor due to that
and printing error messages related to them is not useful at this
point.  The strict balanced validation count check should only be
enabled after confirming that all invocations are safe and aligned
with their designed purposes.

Thus this patch removes the error value returned by acpi_tb_get_table()
in that case along with the accompanying error message to fix the
issue.

Fixes: 174cc7187e6f (ACPICA: Tables: Back port acpi_get_table_with_size() and early_acpi_os_unmap_memory() from Linux kernel)
Cc: 4.10+ <stable@vger.kernel.org> # 4.10+
Reported-by: Anush Seetharaman <anush.seetharaman@intel.com>
Reported-by: Dan Williams <dan.j.williams@intel.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/acpica/tbutils.c

index 5a968a78652bd23d269fbc871957a4488fb03af6..7abe6650573950674ce41a7511fd9abe2736c451 100644 (file)
@@ -418,11 +418,7 @@ acpi_tb_get_table(struct acpi_table_desc *table_desc,
 
        table_desc->validation_count++;
        if (table_desc->validation_count == 0) {
-               ACPI_ERROR((AE_INFO,
-                           "Table %p, Validation count is zero after increment\n",
-                           table_desc));
                table_desc->validation_count--;
-               return_ACPI_STATUS(AE_LIMIT);
        }
 
        *out_table = table_desc->pointer;