Hi Lv, According to some tests, setting acpi_gbl_parse_table_as_term_list to TRUE does is not effective. The code within the If-block is still not executed early enough or something else is wrong. Previously Rick had an issue with an Acer Aspire V7-582PG where the dGPU could not be powered off and I demonstrated an isolated test case in http://www.spinics.net/lists/linux-acpi/msg70069.html In Bartosz's case, the dGPU cannot be powered on (also using nouveau), preventing suspend from working. Situation is as follows (tested with Linux 3.16, 4.8.4, 4.9-rc2, 4.9-rc4): His Lenovo IdeaPad Z510 laptop (BIOS date 2014) enables power resources and related _PR3 objects under the conditional If(_OSI("Windows 2013")). Both with and without acpi_gbl_parse_table_as_term_list set to TRUE, the module-level code is not loaded properly. Via a SSDT override, it was confirmed that removing the If conditional results in the expected behavior. Various details are given in https://github.com/Bumblebee-Project/bbswitch/issues/142 including lots of dmesg logs (see posts at the bottom). With above MLC flag set (v4.9-rc4): https://pastebin.com/raw/vCEPGezX With SSDT override (v4.9-rc2): https://pastebin.com/raw/3Fsf2VPU If you would like a new bugzilla entry or have some patches to test, you know where to find us :) -- Kind regards, Peter Wu https://lekensteyn.nl -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html