• Jeremy Compostella's avatar
    ACPI / sysfs: Fix incorrect ACPI tables walk in acpi_tables_sysfs_init() · de03beed
    Jeremy Compostella authored
    When executing on an ACPI Hardware Reduced hardware, all the ACPI
    tables are not exposed in sysfs due to the fact that FACS is
    silently ignored by the kernel in the ACPI hardware reduced mode
    and, moreover, the acpi_tables_sysfs_init() ACPI table walk
    is buggy and stops too soon.
    
    The acpi_tables_sysfs_init() function should rely on the acpi_status
    return value from acpi_get_table_by_index() to decide whether or not
    to stop the iteration (the walk should only be terminated when that
    value is AE_BAD_PARAMETER).  This way, when running in an ACPI Harware
    Reduced environment (where the FACS table is silently ignored by the
    kernel) or if some ACPI tables are not correctly memory mapped or
    have bad checksums, it will still walk through the remaining tables
    that may be correct.
    
    [rjw: Changelog]
    Signed-off-by: default avatarJeremy Compostella <jeremy.compostella@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    de03beed
sysfs.c 20.7 KB