From nobody Mon Jun 8 09:48:35 2026 Received: from mail-dl1-f67.google.com (mail-dl1-f67.google.com [74.125.82.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CDEAA2135B8 for ; Thu, 4 Jun 2026 00:44:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.67 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780533862; cv=none; b=tQxouE3P0SJvrAAZ9ma3PnVBXT84jz3xniqzMztIZomZg2e6f4K1iZQoyzVupJSaGvAC+RSqATYrOlhQBlgEmYt0kK4JQ6JhqmtMNuPwjJ7Yqy1p9FaUeWPcsG+Lz15lG29u6WIeN4JIGwrTSuQ3x/GHO+X5fuPDclFKvfka55Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780533862; c=relaxed/simple; bh=EbX6bgGsKAiDRJmfJjqbrg9YSo1F/W+zJDbNod2tE8Q=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=Y6JLmWF2zSolE27EWFjbzLD17K+9dQShVrp1eRw3FTH1uZqi+GE3CTsbCbAz/AyGF9m+Nqv7RtqcJRNM/qgZ2tARle68Mu584SKaJP5jc6t9NU8KrPbBOLjz/7ghYUQHPMlbRrYTvVDK4yEfFiwXABK5+h6uJNmwB0QT+IMFuY0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=KfmcktGR; arc=none smtp.client-ip=74.125.82.67 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KfmcktGR" Received: by mail-dl1-f67.google.com with SMTP id a92af1059eb24-13721dfd471so185190c88.1 for ; Wed, 03 Jun 2026 17:44:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780533861; x=1781138661; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=WU4xiLlGmzG30XmCR7F578csFbX0/SAgOHAfdp0NzZw=; b=KfmcktGR2zLvb4rt7Mz/LAX/WIPNMXWJRCIVsp7UHzas14pTQoh6c9J4Wkd+PkROo5 Lacf4qqW/hCPA6wZ7vcgltKM1za2edMsP+kOhfuhE/k9QJ9skZnrgKa5jUBCNfGokfO0 7sqA2NGj3DzzRadbHsPofvN45QDkxVQ8MyFvCIiF83Ic1s4mSB1pqbumv1qJ6qXuGV3D eLWe/c4Z1MMN3XDNkWkvAHeNAdKTJaHG6eGBOwLE9v5isvxcFtm0to+vhzS4hXhjc1wM rFgT5zQoHy4EbRQDo2hO5r7P7p78W/rxIpBYISZMAbw6kw9gJDuB/Jpe+l7nSrusry10 hxhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780533861; x=1781138661; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=WU4xiLlGmzG30XmCR7F578csFbX0/SAgOHAfdp0NzZw=; b=KHxHacqE/EK09yIXpcVZs65AdgoKzIsnhwD0pjGHvx88Jub2JXQRqVcesd4ECnmPk0 BhFyTST4R3Ajeguhe/MoVeNrx5dNHAO7Nou2BWEmqas+JezY3eOLV0ejYhubILpyDdI6 6kb/0QcbOSo97t2X5VCVRt36YcogCyKf8MP3EZEn6c1jdimZRUBx0Ctev1L6XcJIJjQI f08c9GK5QSSYCrN02i4O60OzyqqgffV9LVXvno+4cRJ1+ETKqEfkvuNQaN1ACs4fI+4S wLSEtbhUmWGBmR80RsvY8KfK2urjyHiXJ3KCa46JZJPohOretCN6qvP4a3F3YOCy9tiB t+IA== X-Forwarded-Encrypted: i=1; AFNElJ9L8K1Z423QHIbosQe4WENfllQ9bFJutqNde50/+kb+n9J/mLrS0OPpSOLHpzxwoMvxtistmEgB1tsQmiY=@vger.kernel.org X-Gm-Message-State: AOJu0YxcRa2UzG8snmJKwLlCb7fEmxTjhm1A4dC/WLA72PKDVG5VtNVf EHbeEacX06z5RadzWtxTToKtn3ekptEYf+J10cQ2UsgNZzEnBJ26TdkPCJJx5zCn X-Gm-Gg: Acq92OG3NgPGa+dIB9x+Jp5A2PTHXNXok/6Xm6OBOsmEZBdvobpEQuh3yMZIkFF+HLR c+QsDSAd6TtYVrF6VMy7cLfo71a519UBEivT4eUUXLlA0dnl7gysTKViYClER1AGPwY500gQQt5 I73kvRymjYlCkMMxxTTmeZxFG7XINJsYyPu35BUOuU2cYE1RBqB+hDgcW1XcNLmnoOS84/RAJ0z XRDRFyLyoSrQORR/qOnIuWM5v4RPKyoDRs/KWacDUIr/ZCp1O23K5aivL9X8Y1To2E4d1iEoRDi FQgS7p/pt4zcrbvPF6kp24GowO4EBohOE1ZivNJhjw/Ly3ogGElS15tN96oDzunhmowKnZMRkFa NIOkVdagCHfCe8ED2m78dOO5EUbaStezt4cltHLi7IPqBDMujmvN7g8ehrTByQbk1f5LHt1yd1l VsmymWTnKkW1Q71+j9c4ITcZGGUURlJ7iEEEhpa7Z4nFPrRCN1LHG5IJRWXELnjy3Tqw== X-Received: by 2002:a05:7022:48f:b0:136:d029:459 with SMTP id a92af1059eb24-137f6bf40d1mr2620539c88.22.1780533860796; Wed, 03 Jun 2026 17:44:20 -0700 (PDT) Received: from localhost.localdomain ([76.32.119.210]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-137f549bbefsm3108271c88.4.2026.06.03.17.44.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 17:44:20 -0700 (PDT) From: Hungyu Lin To: vikash.garodia@oss.qualcomm.com, dikshita.agarwal@oss.qualcomm.com, abhinav.kumar@linux.dev, bod@kernel.org, mchehab@kernel.org Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Hungyu Lin Subject: [PATCH] media: qcom: iris: fix runtime PM reference leaks Date: Thu, 4 Jun 2026 00:44:04 +0000 Message-Id: <20260604004404.34797-1-dennylin0707@gmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use pm_runtime_resume_and_get() in iris_enable_power_domains() to avoid leaking a runtime PM usage count on failure. Also ensure pm_runtime_put_sync() is always called in iris_disable_power_domains(), even when iris_opp_set_rate() fails, so runtime PM references remain balanced. Signed-off-by: Hungyu Lin --- drivers/media/platform/qcom/iris/iris_resources.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/media/platform/qcom/iris/iris_resources.c b/drivers/me= dia/platform/qcom/iris/iris_resources.c index 773f6548370a..f5e3341e1430 100644 --- a/drivers/media/platform/qcom/iris/iris_resources.c +++ b/drivers/media/platform/qcom/iris/iris_resources.c @@ -78,11 +78,11 @@ int iris_enable_power_domains(struct iris_core *core, s= truct device *pd_dev) if (ret) return ret; =20 - ret =3D pm_runtime_get_sync(pd_dev); - if (ret < 0) + ret =3D pm_runtime_resume_and_get(pd_dev); + if (ret) return ret; =20 - return ret; + return 0; } =20 int iris_disable_power_domains(struct iris_core *core, struct device *pd_d= ev) @@ -90,12 +90,10 @@ int iris_disable_power_domains(struct iris_core *core, = struct device *pd_dev) int ret; =20 ret =3D iris_opp_set_rate(core->dev, 0); - if (ret) - return ret; =20 pm_runtime_put_sync(pd_dev); =20 - return 0; + return ret; } =20 static struct clk *iris_get_clk_by_type(struct iris_core *core, enum platf= orm_clk_type clk_type) --=20 2.34.1