From e17ec3e2e84a8e7cd3f19fb6774356684ae6f25f Mon Sep 17 00:00:00 2001 From: Marc Jones Date: Wed, 15 Aug 2018 22:53:34 -0600 Subject: ec/google/chromeec: Fix ACPI FWTS error Fix the following FWTS error: FAILED [MEDIUM] AMLAsmASL_MSG_RETURN_TYPES: Test 1, Assembler warning in line 3038 Line | AML source -------------------------------------------------------------------------------- 03035| Return (One) 03036| } 03037| 03038| Method (_Q09, 0, NotSerialized) // _Qxx: EC Query | ^ | Warning 3115: Not all control paths return a value (_Q09) 03039| { 03040| If (Acquire (PATM, 0x03E8)) 03041| { ================================================================================ ADVICE: (for Warning #3115, ASL_MSG_RETURN_TYPES): Some of the execution paths do not return a value. All control paths that return must return a value otherwise unexpected behaviour may occur. This error occurs because a branch on an conditional op-code returns a value and another does not, which is inconsistent behaviour. _Q09 is a reserved method and can't return a value. Change the logic so that no return is used and avoid this test error. BUG=b:112476331 TEST=Run FWTS. Change-Id: Ibbda1649ec2eb9cdf9966d4ec92bfd203bb78d07 Signed-off-by: Marc Jones Reviewed-on: https://review.coreboot.org/28123 Tested-by: build bot (Jenkins) Reviewed-by: Duncan Laurie --- src/ec/google/chromeec/acpi/ec.asl | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/ec/google/chromeec/acpi/ec.asl b/src/ec/google/chromeec/acpi/ec.asl index 94917dd62f..453a6d7ee3 100644 --- a/src/ec/google/chromeec/acpi/ec.asl +++ b/src/ec/google/chromeec/acpi/ec.asl @@ -467,25 +467,23 @@ Device (EC0) */ Method (_Q09, 0, NotSerialized) { - If (Acquire (^PATM, 1000)) { - Return () - } - - /* Read sensor ID for event */ - Store (^PATI, Local0) + If (LNot(Acquire (^PATM, 1000))) { + /* Read sensor ID for event */ + Store (^PATI, Local0) - /* When sensor ID returns 0xFF then no more events */ - While (LNotEqual (Local0, EC_TEMP_SENSOR_NOT_PRESENT)) - { + /* When sensor ID returns 0xFF then no more events */ + While (LNotEqual (Local0, EC_TEMP_SENSOR_NOT_PRESENT)) + { #ifdef HAVE_THERM_EVENT_HANDLER - \_SB.DPTF.TEVT (Local0) + \_SB.DPTF.TEVT (Local0) #endif - /* Keep reaading sensor ID for event */ - Store (^PATI, Local0) - } + /* Keep reaading sensor ID for event */ + Store (^PATI, Local0) + } - Release (^PATM) + Release (^PATM) + } } /* -- cgit v1.2.3