From: Mika Kahola Date: Fri, 29 Aug 2025 10:12:26 +0000 (+0300) Subject: drm/i915/display: Fix possible overflow on tc power domain selection X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=765531faa42ed76d06f959083dae0da3e8c1a529;p=users%2Fhch%2Fmisc.git drm/i915/display: Fix possible overflow on tc power domain selection There is a possibility that intel_encoder_to_tc() function returns negative i.e. TC_PORT_NONE (-1) value which may cause tc_port_power_domain() function to overflow. To fix this, let's add additional check that returns invalid power domain i.e. POWER_DOMAIN_INVALID in case tc port equals TC_PORT_NONE. Signed-off-by: Mika Kahola Reviewed-by: Suraj Kandpal Link: https://lore.kernel.org/r/20250829101226.4085757-1-mika.kahola@intel.com --- diff --git a/drivers/gpu/drm/i915/display/intel_tc.c b/drivers/gpu/drm/i915/display/intel_tc.c index 583fed5a386d..23745fc99d35 100644 --- a/drivers/gpu/drm/i915/display/intel_tc.c +++ b/drivers/gpu/drm/i915/display/intel_tc.c @@ -249,6 +249,9 @@ tc_port_power_domain(struct intel_tc_port *tc) { enum tc_port tc_port = intel_encoder_to_tc(&tc->dig_port->base); + if (tc_port == TC_PORT_NONE) + return POWER_DOMAIN_INVALID; + return POWER_DOMAIN_PORT_DDI_LANES_TC1 + tc_port - TC_PORT_1; }