diff options
author | shackra <elcorreo@deshackra.com> | 2014-05-18 23:19:29 -0600 |
---|---|---|
committer | shackra <elcorreo@deshackra.com> | 2014-05-18 23:19:29 -0600 |
commit | 113793e5d19301552423a95947efc704424a7167 (patch) | |
tree | c1804e43e11d5f9a152436b42a7ce182e88d500b /libre/linux-libre/0015-fix-xsdt-validation.patch | |
parent | 01011325d60e0262ba0d5a51c4d3b2be57f5924c (diff) | |
parent | 1287ab2629ed3997b6ec6e603847eafb1e6aa199 (diff) | |
download | abslibre-113793e5d19301552423a95947efc704424a7167.tar.gz abslibre-113793e5d19301552423a95947efc704424a7167.tar.bz2 abslibre-113793e5d19301552423a95947efc704424a7167.zip |
Merge branch 'master' of ssh://projects.parabolagnulinux.org:1863/srv/git/abslibre
Diffstat (limited to 'libre/linux-libre/0015-fix-xsdt-validation.patch')
-rw-r--r-- | libre/linux-libre/0015-fix-xsdt-validation.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/libre/linux-libre/0015-fix-xsdt-validation.patch b/libre/linux-libre/0015-fix-xsdt-validation.patch new file mode 100644 index 000000000..82dd2be25 --- /dev/null +++ b/libre/linux-libre/0015-fix-xsdt-validation.patch @@ -0,0 +1,42 @@ +@@ -, +, @@ + acpi_tb_parse_root_table(). + Commit: 671cc68dc61f029d44b43a681356078e02d8dab8 + Subject: ACPICA: Back port and refine validation of the XSDT root table. +--- + drivers/acpi/acpica/tbutils.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) +--- a/drivers/acpi/acpica/tbutils.c ++++ a/drivers/acpi/acpica/tbutils.c +@@ -461,6 +461,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + u32 table_count; + struct acpi_table_header *table; + acpi_physical_address address; ++ acpi_physical_address rsdt_address; + u32 length; + u8 *table_entry; + acpi_status status; +@@ -488,11 +489,13 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + * as per the ACPI specification. + */ + address = (acpi_physical_address) rsdp->xsdt_physical_address; ++ rsdt_address = (acpi_physical_address) rsdp->rsdt_physical_address; + table_entry_size = ACPI_XSDT_ENTRY_SIZE; + } else { + /* Root table is an RSDT (32-bit physical addresses) */ + + address = (acpi_physical_address) rsdp->rsdt_physical_address; ++ rsdt_address = address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + +@@ -515,8 +518,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + + /* Fall back to the RSDT */ + +- address = +- (acpi_physical_address) rsdp->rsdt_physical_address; ++ address = rsdt_address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + } + |