From 3f3b85da088f38809aa43db8877aa75e3315193f Mon Sep 17 00:00:00 2001 From: SergeySlice Date: Mon, 6 Jan 2020 20:46:31 +0300 Subject: [PATCH] apply dsdt fix changes to master Signed-off-by: SergeySlice --- rEFIt_UEFI/Platform/FixBiosDsdt.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rEFIt_UEFI/Platform/FixBiosDsdt.c b/rEFIt_UEFI/Platform/FixBiosDsdt.c index 122cb0cb4..639b57ff4 100644 --- a/rEFIt_UEFI/Platform/FixBiosDsdt.c +++ b/rEFIt_UEFI/Platform/FixBiosDsdt.c @@ -1391,7 +1391,11 @@ UINT32 CorrectOuters (UINT8 *dsdt, UINT32 len, UINT32 adr, INT32 shift) k = 0; if ((dsdt[i] == 0x5B) && (dsdt[i+1] == 0x82) && !CmpNum(dsdt, i, TRUE)) { //device candidate k = i + 2; - } else if ((dsdt[i] == 0x10) && (dsdt[i-1] != 0x0A) && !CmpNum(dsdt, i, TRUE)) { //device scope like Scope (_PCI) + } else if ((dsdt[i] == 0x10) && //looks like Scope + (dsdt[i-1] != 0xA0) && //this is If() + (dsdt[i-1] != 0xA1) && //this is Else() + (dsdt[i-1] != 0xA2) && //this is While() + !CmpNum(dsdt, i, TRUE)) { //device scope like Scope (_PCI) //additional check for Field // a problem with fields 52 4D 53 33 10 41 4D 45 4D // 1. Search outer filed