ACPI fix for 5.3-rc1

Revert a recent ACPICA commit causing systems to hang at boot time.
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEE4fcc61cGeeHD/fCwgsRv/nhiVHEFAl0lwQwSHHJqd0Byand5
 c29ja2kubmV0AAoJEILEb/54YlRxnFoQAK5jh19eRn70Emh16GVXelmAhcVSl2mN
 KD1G13hIjrBgs0uDLY1jeYZuCncVCJTNpL4PnXsPHH+1wnQ/78Nq9H06dPjRVClI
 NrzwQ9J175RchPtp/HeBU1g4H+gnnm9BYF0KWjfiqYrGO/a6VfUYWOCduRfKKQnw
 pf/MtoxSR/hyCOdgKlNjmpabNxFA2cOT1VEViAbseMOfubCs3LfWo8GVTMusn3oI
 EQ2wqlktcqiUTe8IFnrMQEzE9EfneBcd/FvUqqOJZZ6lkPPrwEENwtMMILSOcUZ1
 zo16xsE5oZWd5b4cLNV1jaE3AF+yxzvm4yhNKPfBXiGTAlGp1XQGR3zYvW54TtiF
 khcfA8h4a1Upr9FbC1aPHWRtO0ctW+E6eoy/wgrcWkk83pWIgbwpjehOIH+2in8G
 u3757IrRw/ZFz+SlV/1SA2rgLUKzzL+lDDvkTyadCgF1OHoZcvphUpEQt32sQ+pq
 qyeM8FQ32Lxc6x9/Fnd9qOQmJAj5T6ByMpJcFiRaFt/VstZFcK1hEq+3qRhDoSq6
 cL5SFACE3pKqZX/ShBXUF97R59jabT91nY7BItDweuBKS9gz81/t1Rgdu48ApdZt
 bd73oBNXPulcQ1LHp7Q3Gl9BltwfPFoIBfa19THzQIG+rHhp/FgoKm5vun7yBGIj
 hFgiNWBPKBaX
 =+G0G
 -----END PGP SIGNATURE-----

Merge tag 'acpi-5.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI fix from Rafael Wysocki:
 "Revert a recent ACPICA commit causing systems to hang at boot time"

* tag 'acpi-5.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  Revert "ACPICA: Update table load object initialization"
This commit is contained in:
Linus Torvalds 2019-07-11 11:17:09 -07:00
commit a131c2bf16
2 changed files with 17 additions and 9 deletions

View File

@ -174,9 +174,12 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state,
return_ACPI_STATUS(status);
}
/* Complete the initialization/resolution of new objects */
/* Complete the initialization/resolution of package objects */
acpi_ns_initialize_objects();
status = acpi_ns_walk_namespace(ACPI_TYPE_PACKAGE, ACPI_ROOT_OBJECT,
ACPI_UINT32_MAX, 0,
acpi_ns_init_one_package, NULL, NULL,
NULL);
/* Parameter Data (optional) */
@ -434,11 +437,12 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc,
return_ACPI_STATUS(status);
}
/* Complete the initialization/resolution of new objects */
/* Complete the initialization/resolution of package objects */
acpi_ex_exit_interpreter();
acpi_ns_initialize_objects();
acpi_ex_enter_interpreter();
status = acpi_ns_walk_namespace(ACPI_TYPE_PACKAGE, ACPI_ROOT_OBJECT,
ACPI_UINT32_MAX, 0,
acpi_ns_init_one_package, NULL, NULL,
NULL);
/* Store the ddb_handle into the Target operand */

View File

@ -297,11 +297,15 @@ acpi_status acpi_load_table(struct acpi_table_header *table)
status = acpi_tb_install_and_load_table(ACPI_PTR_TO_PHYSADDR(table),
ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL,
FALSE, &table_index);
if (ACPI_SUCCESS(status)) {
/* Complete the initialization/resolution of package objects */
/* Complete the initialization/resolution of new objects */
acpi_ns_initialize_objects();
status = acpi_ns_walk_namespace(ACPI_TYPE_PACKAGE,
ACPI_ROOT_OBJECT,
ACPI_UINT32_MAX, 0,
acpi_ns_init_one_package,
NULL, NULL, NULL);
}
return_ACPI_STATUS(status);