aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/tables.c
diff options
context:
space:
mode:
authorHanjun Guo <guohanjun@huawei.com>2020-07-21 17:59:04 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2020-07-27 15:19:12 +0200
commit24194a7e03f46f08579e3094417e448a92aff2b4 (patch)
tree26eb9fb154811fda0277a46bebdef181413f1bd5 /drivers/acpi/tables.c
parentACPI: tables: avoid relocations for table signature array (diff)
downloadlinux-dev-24194a7e03f46f08579e3094417e448a92aff2b4.tar.xz
linux-dev-24194a7e03f46f08579e3094417e448a92aff2b4.zip
ACPI: tables: Remove the duplicated checks for acpi_parse_entries_array()
acpi_disabled, pointer id and table_header are checked in acpi_table_parse_entries_array(), and acpi_parse_entries_array() is only called by acpi_table_parse_entries_array(), so those checks in acpi_parse_entries_array() are duplicate. Remove those duplicated checks and move the table_size check to acpi_table_parse_entries_array() as well. Signed-off-by: Hanjun Guo <guohanjun@huawei.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/tables.c')
-rw-r--r--drivers/acpi/tables.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index ada36bc40c2b..e48690a006a4 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -292,20 +292,6 @@ static int __init acpi_parse_entries_array(char *id, unsigned long table_size,
int errs = 0;
int i;
- if (acpi_disabled)
- return -ENODEV;
-
- if (!id)
- return -EINVAL;
-
- if (!table_size)
- return -EINVAL;
-
- if (!table_header) {
- pr_warn("%4.4s not present\n", id);
- return -ENODEV;
- }
-
table_end = (unsigned long)table_header + table_header->length;
/* Parse all entries looking for a match. */
@@ -371,6 +357,9 @@ int __init acpi_table_parse_entries_array(char *id,
if (!id)
return -EINVAL;
+ if (!table_size)
+ return -EINVAL;
+
if (!strncmp(id, ACPI_SIG_MADT, 4))
instance = acpi_apic_instance;