From nobody Mon Jun 8 09:48:37 2026 Received: from mail-dy1-f196.google.com (mail-dy1-f196.google.com [74.125.82.196]) (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 E52EF3E1220 for ; Thu, 4 Jun 2026 09:01:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.196 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780563711; cv=none; b=fYKWinPNlKullcmyRUcD2xqTGVaR3smTlVjZxAGBVM7/yiF7UKkxyW+bOYOz+5rNvSD6TVveA0U0khPuOWRjWvsfPh2CiSZ9n6XvfQAJQXH67N2T8IrHqPNbg4x/vScyJ5bYC0b5/RKZv/CpaZOJCsVHl8IyZtU0vUAL3/YkQkU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780563711; c=relaxed/simple; bh=tevFvEzdnCkxOqdw10b+jO4O9VWLjSDW9X8srrONk4o=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=MjQmEQpBx8gt2J28evfqzMJobwz9JSZzzIrBXQCZDXwJr4hvqg6wmYzNNzKq7v2ctSFD1WbwE8Dh0IeqFN5e8ewZHd6lfpAfF9tbHvanKo2VFOMaY8iruzBBdDWxM8jZdcazJe+b7rBXd0OhMwbyfgVoWcW9EbVVq/5moyIBdcQ= 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=pbApc5ei; arc=none smtp.client-ip=74.125.82.196 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="pbApc5ei" Received: by mail-dy1-f196.google.com with SMTP id 5a478bee46e88-304d7f31215so345734eec.1 for ; Thu, 04 Jun 2026 02:01:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780563709; x=1781168509; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UpExvBqJEwYgCOZtnj17mLYXW37IIUimvoP5yk4TgGc=; b=pbApc5eim+XP8m41vIx/tZRlpQcSYdQUBxcwM5FOCS3HXFlRMxqWPlTruvFjfQO992 yReIc8lF/B+xXSOw4D4Za2nuVdEyGIXNP2h7LcH+2Y1CR/u2cvUvAYqHgbR2e0hjXZIw KTKbMwK9qrpaQ6ueAaAdmTmJtW/dz1TWJK1mg+LY/Omwkft9IDwEzq8DhVevI192xKi+ hNm1mMGYx3g1DHIkZjzXupRO77TLbnDKtA06oYbxHuyFxwxFFnBav+UXqkyBOuhgh7dT +GOWAuDAeLdzaLJTlsdWBjaSGVLm7PNQ+WVwBwLmIIiuCRMdY7C/5oX/fQsvRp5Aia/g rhEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780563709; x=1781168509; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=UpExvBqJEwYgCOZtnj17mLYXW37IIUimvoP5yk4TgGc=; b=JMCPPnJs8+SL/RxZadtqL2OrvAC7Aotl0KKqLUeEs6pIT2/J17h/C+fwrfbtYdtblK DOC9CGnXVHgwNEk3f9NLLA9ghyF5Fbo49xzumyjKMLYbVvDQU4KRR1LQlaZyJOZjclNA rCZR9H5nbML/xAj0UyFcbbqhYJWt0SYJwo8+CBJD6ibofMzjloCZbQ6hlkGuZzwVayVy 3jGTNsddQ2f324Rov5zPQrz1IqPkPzPsKzVvoh4ncGUIS3WQZtMe4/3AYhJNxWM6iuqB VIdfPn3D/MgcOKQt/rYFJIh7/g0M+3zowHugixqSwF2Srz+FDwilODJevmLC4CPnLdus MHhg== X-Forwarded-Encrypted: i=1; AFNElJ+nVUuFexJocMyaDBd1K3BEUtaZDBtponcqGknJSD04f/+DY9zNa/6iI5FN3inIXHaqE4u9Gi7inHCDDHY=@vger.kernel.org X-Gm-Message-State: AOJu0YwXfUsCdbJQ5wNzPpKYzYTD2DWRMrvWbXeEnds39eoLr1R8td2E KixVdFn6snzjihf5kbUcGjMkZBCg/Dc6I5rw6mfayWWCPhPdAesuhFjJ X-Gm-Gg: Acq92OG4AJPKkjg20/83q2GyYTM1TvblWgk2M3zqZ5Sv40/dEaO4UezGu2EdzvxVmqM lzJuD25Ec6Ae8u+8vfD3j/t7Wggitfare1HaXlTP+E1f3E0lzUBljlSbhkGiXBvhxT03qTwkmVf Jgd5dQgYH60rRqvMjDR/Vtx5obL60ERrc3Flo1XTxNlfmPL6v5upV17wbWiRbMlgoipGL8tPHKN FQfVins/mSkR9uhLzrNMCkdeo8N6zkOCCIUG2zswZ7Czwva4agBsjpi0GEmQ3ym9NapSqreD0th oUtfqEnqBp+E4zWy7AHsm2ISzCACAPvZW2aFgZf4fN7WI9s10cjFridv/Q0vq8My1KY8MZ3CVc8 vZeRMz6vbKOs0NsX0Wg4cw/42vBnClFSyy2XiAIuU6cBoComTfN0NODbjqdlTjvkkGUoCWaIJvY YyRJ+HLt1F6a7jShoN4FloceCRBfH5dtph/uPln9X09EmubC+cM+TVWrLTrhDiiuMS1w== X-Received: by 2002:a05:693c:25c8:b0:2d9:f0b3:1d98 with SMTP id 5a478bee46e88-3074fa654femr3760537eec.7.1780563709153; Thu, 04 Jun 2026 02:01:49 -0700 (PDT) Received: from localhost.localdomain ([76.32.119.210]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3074df8076csm4892717eec.29.2026.06.04.02.01.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jun 2026 02:01:48 -0700 (PDT) From: Hungyu Lin To: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: vikash.garodia@oss.qualcomm.com, dikshita.agarwal@oss.qualcomm.com, abhinav.kumar@linux.dev, bod@kernel.org, mchehab@kernel.org, hverkuil@kernel.org, stefan.schmidt@linaro.org, Hungyu Lin Subject: [PATCH v3 1/2] media: qcom: iris: fix runtime PM reference leaks Date: Thu, 4 Jun 2026 09:00:58 +0000 Message-Id: <20260604090059.46355-2-dennylin0707@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260604090059.46355-1-dennylin0707@gmail.com> References: <20260604090059.46355-1-dennylin0707@gmail.com> 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. Fixes: bb8a95aa038e ("media: iris: implement power management") Signed-off-by: Hungyu Lin Reviewed-by: Dmitry Baryshkov --- 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 From nobody Mon Jun 8 09:48:37 2026 Received: from mail-dy1-f196.google.com (mail-dy1-f196.google.com [74.125.82.196]) (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 BDAE03F7879 for ; Thu, 4 Jun 2026 09:01:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.196 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780563711; cv=none; b=qZOuW/k0ykbofI1a1vWQpn60UH8yAcQQeNazGv9YgEk50yXgWHfJlU/woXi1EKOl06MIA0qc44Pm6SqoBKSiR6p+GAFiRfZiQ2UuSKQsHxoiPGvSLoQ52+Prk9fFDLQJ+xY5sUrvzVzG44Ez2qy7GGTOSlwngC9eXAJHT//bWgo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780563711; c=relaxed/simple; bh=6sS/rOAwEAnbZVoTrMOiDHFw6dT7vuBK3ka0sNLl7b4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=axR08A5qKKJg1SRRXZPNB5uG3YBDQ5GVGNNi1VnM84pZs4oJ6YCy7wOnFFoFqRjWmahODHcMrh7LhP85H+T0zZ/TVrxBOPRS7lG+glw3ezwDJp+zZMhox+eL/jiWXdR7Uystsl1LKvTx/0znIAXR9aIn+ydEQuDiVCZegmZOEwU= 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=JywV8Cg9; arc=none smtp.client-ip=74.125.82.196 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="JywV8Cg9" Received: by mail-dy1-f196.google.com with SMTP id 5a478bee46e88-304d0ac5e3cso836071eec.0 for ; Thu, 04 Jun 2026 02:01:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780563710; x=1781168510; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jtOAUIkJHHpqIWubsJjKRb06yKny8EDW95y2MrqiHJY=; b=JywV8Cg966a5hLdPKq2WuMLOoSHKza7u1bzwTHhkU68mrILgYQkmyI3pXXb10uQZ3h KA+j3V467W/WCEAysain8UwMkHF/G3Z39mQzGACnrWSwqw6qPpeQJLyuIbmkYB1KtFLd NzhsLhHL9sGlSC8yKdquQtMm92GP0DPO2g93EQWCMa2PhbBnMbkspyfurqyT+RxcpF1z UMYjJDpAXYHVFS/EG5CqnH8FcWcmHOdu3c1GdTGHtzqeQErWlnpam2n0rFMG/0ixIiFk rSpdPb8HUTi5yGFAjpn3zYyw78V0J7s8c61Uv47rZAO4iHAglAQuX/4hlgA20CiUYyKB nnUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780563710; x=1781168510; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=jtOAUIkJHHpqIWubsJjKRb06yKny8EDW95y2MrqiHJY=; b=mIP+q+HGAjEbClXnf0qJ0m/GiuZge8annRtsvz86uecBNjXmOXbrKI/bxnDopTN+tv ZzwJ+ICSawgAM5PTfPub50n8/wxzBCWMrmQa9WOC90Nes/w9QaDu3DLruKrGFY2zJzwP 5k9//fJNIfjkHEtVnrnmEN7y2k3h8mnnVAaliah6at1QX9/B0y/KUNXEmErMmyPOz7Kt vuZ1uPBY7KQ4IuVvWDZlZzDEUeGPLhb6QUVJpMHQsg4BZNKIjgN0Z/qAhwB78b11u8Q4 YVHV5yMxp49ESQN7tUhsVivszECOAiBOM6E42VGd75XWRMbntKtdoWoQxbp5xU480iul IT8A== X-Forwarded-Encrypted: i=1; AFNElJ+klVsnDC8pPQRIwwpb4c3+sG5bUjGCRmqS5O3rEx66Eps2TdSAVDXNTNHzUsBliMw8wHC3TSmNIRFBPwE=@vger.kernel.org X-Gm-Message-State: AOJu0YwxbpJar4wXBX5HExIqAz3hhnTJYMN0sqcLGfWQiWwsvEVVFkfm ogtxdEgKavvQvJ/mdEAUgUaTpvnwmIsNcotgwLnF+spebgbi9cCbFdHa X-Gm-Gg: Acq92OFYabx/0D3LC4DdqTmG64T999QquPuChLuHomqNunzTBTbZcuxK8+8WI6bEnEd D3opiKPHiyfaQ3wpmgS9FfxYAaNcqu0YGi0AhTOdNet4/7U5Pu1n0cQF74VO1JRKZAfJozJyGOl penpB0f4jL9gnKrTAHOZ9TkJJeznVMdj51YYc3MKIXEJgH4h2hnlxbXg85CqIcb2Sr2r+mWHQFH I+quTVwIxY/5nOSi4EYXmcpyJpNspCrmyDifDlptbR1gzLZM7tEocQRFW8/uzk2tYHU7oYN5Hme Uc9XRdtN/q/hMTh/vv4GYaQEsaV5AfqAW8+6YoiLMkCqzAMqfNsDrsk26wg3MzwKUSWurOb/+WT GhBYJjF4V7csIdPfK1iJs4sow9Xzy+a3Xf1UhtzGf/MF87zEX/TjUpv2++8KoA0C5svwO9FHpop BEXDe5nPYkeGRB3LEJSPToIoj+tvAKStqAaDd1iqtfbLTn0nrKXPhXq8ZtSVfooH5QFw== X-Received: by 2002:a05:693c:37c2:b0:2da:4216:7ea3 with SMTP id 5a478bee46e88-3074fabd68fmr3680720eec.14.1780563709986; Thu, 04 Jun 2026 02:01:49 -0700 (PDT) Received: from localhost.localdomain ([76.32.119.210]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3074df8076csm4892717eec.29.2026.06.04.02.01.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jun 2026 02:01:49 -0700 (PDT) From: Hungyu Lin To: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: vikash.garodia@oss.qualcomm.com, dikshita.agarwal@oss.qualcomm.com, abhinav.kumar@linux.dev, bod@kernel.org, mchehab@kernel.org, hverkuil@kernel.org, stefan.schmidt@linaro.org, Hungyu Lin Subject: [PATCH v3 2/2] media: qcom: iris: rollback OPP vote on PM resume failure Date: Thu, 4 Jun 2026 09:00:59 +0000 Message-Id: <20260604090059.46355-3-dennylin0707@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260604090059.46355-1-dennylin0707@gmail.com> References: <20260604090059.46355-1-dennylin0707@gmail.com> 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" Rollback the maximum OPP vote when pm_runtime_resume_and_get() fails in iris_enable_power_domains(). This ensures the performance state vote is released when power domain enablement does not complete successfully. Fixes: bb8a95aa038e ("media: iris: implement power management") Signed-off-by: Hungyu Lin --- drivers/media/platform/qcom/iris/iris_resources.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/qcom/iris/iris_resources.c b/drivers/me= dia/platform/qcom/iris/iris_resources.c index f5e3341e1430..a7d25f7a201a 100644 --- a/drivers/media/platform/qcom/iris/iris_resources.c +++ b/drivers/media/platform/qcom/iris/iris_resources.c @@ -79,8 +79,10 @@ int iris_enable_power_domains(struct iris_core *core, st= ruct device *pd_dev) return ret; =20 ret =3D pm_runtime_resume_and_get(pd_dev); - if (ret) + if (ret) { + iris_opp_set_rate(core->dev, 0); return ret; + } =20 return 0; } --=20 2.34.1