mirror of
https://github.com/acpica/acpica/
synced 2025-02-25 01:44:33 +03:00

On linux, 2 ioremap() mechanisms are implemented for 2 stages: 1. During early boot, before memory manager is fully initialized. 2. For late boot and runtime, after memory manager is fully initialized. Maps mapped in the early stage can not be used by late stage. So for early stage, linux implements get/put like table APIs to free table mappings, and for late stage, linux only invokes get table APIs. We merged 2 implementations into single style API set: AcpiGetTable() and AcpiPutTable(). During early stage, we want the "ValidationCount" based mechanism to fully work to release table mappings, while for late stages, if get/put invocations are balanced, we can free mappings, but if not (we'll reach the warnings in AcpiTbGetTable()/AcpiTbPutTable()), we should stop unmapping tables. The design should work but unfortunately, "return_ACPI_STAUS(AE_LIMIT)" prevents AcpiGetTable() from returning mapped table pointer to the callers and the error message can flood kernel logs. Thus this patch removes the error value returned by AcpiTbGetTable() in that case along with the accompanying error message to fix the issue. 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> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Description
No description provided
Languages
ASL
68.6%
C
29%
Yacc
0.8%
HTML
0.5%
Shell
0.5%
Other
0.6%