drivers/intel/gma/acpi: Prevent DivideByZero error
In case backlight control isn't enabled BCLM is zero.
Return early instead of running into a DivideByZero error.
This happens on devices that don't have backlight control, like
desktops and servers. The proper fix is to not include those
ACPI methods, but that requires a much bigger refactoring.
Change-Id: Ie9bdb00949d6d44fd99321db556d6008d2d12a7f
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/39158
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
diff --git a/src/drivers/intel/gma/acpi/configure_brightness_levels.asl b/src/drivers/intel/gma/acpi/configure_brightness_levels.asl
index 3ec7411..21f0b23 100644
--- a/src/drivers/intel/gma/acpi/configure_brightness_levels.asl
+++ b/src/drivers/intel/gma/acpi/configure_brightness_levels.asl
@@ -122,6 +122,11 @@
/* Find value closest to BCLV in BRIG (which must be ordered) */
Method (XBQC, 0, NotSerialized)
{
+ /* Prevent DivideByZero if backlight control isn't enabled */
+ If (BCLM == 0)
+ {
+ Return (Zero)
+ }
/* Local0: current percentage */
Store (DRCL (Multiply (BCLV, 100), BCLM), Local0)