From 5aafb9241bcd28a39ef4b407b42e582e78fcd169 Mon Sep 17 00:00:00 2001 From: jsg Date: Wed, 25 Mar 2026 23:44:32 +0000 Subject: [PATCH] drm/i915/dmc: Fix an unlikely NULL pointer deference at probe From Imre Deak 0b35d11fbbcfd1079c8489282a341944228835e3 in linux-6.18.y/6.18.20 ac57eb3b7d2ad649025b5a0fa207315f755ac4f6 in mainline linux --- sys/dev/pci/drm/i915/display/intel_display_power_well.c | 2 +- sys/dev/pci/drm/i915/display/intel_dmc.c | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/dev/pci/drm/i915/display/intel_display_power_well.c b/sys/dev/pci/drm/i915/display/intel_display_power_well.c index 7fcb67f788f..7064a304de3 100644 --- a/sys/dev/pci/drm/i915/display/intel_display_power_well.c +++ b/sys/dev/pci/drm/i915/display/intel_display_power_well.c @@ -796,7 +796,7 @@ void gen9_set_dc_state(struct intel_display *display, u32 state) power_domains->dc_state, val & mask); enable_dc6 = state & DC_STATE_EN_UPTO_DC6; - dc6_was_enabled = val & DC_STATE_EN_UPTO_DC6; + dc6_was_enabled = power_domains->dc_state & DC_STATE_EN_UPTO_DC6; if (!dc6_was_enabled && enable_dc6) intel_dmc_update_dc6_allowed_count(display, true); diff --git a/sys/dev/pci/drm/i915/display/intel_dmc.c b/sys/dev/pci/drm/i915/display/intel_dmc.c index f3e42dcc932..b0f0c69dc74 100644 --- a/sys/dev/pci/drm/i915/display/intel_dmc.c +++ b/sys/dev/pci/drm/i915/display/intel_dmc.c @@ -1571,8 +1571,7 @@ static bool intel_dmc_get_dc6_allowed_count(struct intel_display *display, u32 * return false; mutex_lock(&power_domains->lock); - dc6_enabled = intel_de_read(display, DC_STATE_EN) & - DC_STATE_EN_UPTO_DC6; + dc6_enabled = power_domains->dc_state & DC_STATE_EN_UPTO_DC6; if (dc6_enabled) intel_dmc_update_dc6_allowed_count(display, false);