[PATCH] drm/i915/backlight: Fix divide by 0 error in i9xx_set_backlight
Suraj Kandpal
suraj.kandpal at intel.com
Tue Aug 19 15:40:27 UTC 2025
pwm_level_max maybe 0 we do throw a warning but move ahead with
execution which may later cause a /0 error.
Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
---
drivers/gpu/drm/i915/display/intel_backlight.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_backlight.c b/drivers/gpu/drm/i915/display/intel_backlight.c
index e007380e9a63..d0e9de8ab834 100644
--- a/drivers/gpu/drm/i915/display/intel_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_backlight.c
@@ -234,6 +234,7 @@ static void i9xx_set_backlight(const struct drm_connector_state *conn_state, u32
struct intel_connector *connector = to_intel_connector(conn_state->connector);
struct intel_display *display = to_intel_display(connector);
struct intel_panel *panel = &connector->panel;
+ u32 max_level = panel->backlight.pwm_level_max ?: 1;
u32 tmp, mask;
drm_WARN_ON(display->drm, panel->backlight.pwm_level_max == 0);
@@ -242,7 +243,7 @@ static void i9xx_set_backlight(const struct drm_connector_state *conn_state, u32
struct pci_dev *pdev = to_pci_dev(display->drm->dev);
u8 lbpc;
- lbpc = level * 0xfe / panel->backlight.pwm_level_max + 1;
+ lbpc = level * 0xfe / max_level + 1;
level /= lbpc;
pci_write_config_byte(pdev, LBPC, lbpc);
}
--
2.34.1
More information about the Intel-xe
mailing list