From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (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 AA7E546AEF2 for ; Mon, 24 Aug 2026 16:30:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787589008; cv=none; b=dOsJcOSzpimL0P7U8G7Q+uympic0J0Jb+c4tLYXrO8O8jHYrfElJ98DHoQdlBQRrT3PwioaqsOlBano3huY4QkOf5jqwGIq59r9R1pLQbaTpicK/idDd46mnVJSW2fwH+IjTXug1sp9lpqxbBGnEEW70HTejZWk9PKFW8ZDv0LQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787589008; c=relaxed/simple; bh=v0lYJwrSi7OpizcCsnnOOMLStovMYkhKQ7j1cv3X7V8=; h=Message-ID:MIME-Version:From:To:Cc:Date:Subject:Content-Type; b=K1hVWIX6vKjeCPw/dh0l6KYKFFydcdRKNJqSkfwLdj15HTT5H8Zx1Pymi6sfXyq/faXFASUY1OXsXGIUqjz3uTLcBjYqUg9WdAZUONrySXD3z+NSivcoa0Eb9Uztoxc83aljm/GvhgdRnBfJoCCKoLRu4oT8c7n4DGTTcrDzrsY= 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=QlYSw+lN; arc=none smtp.client-ip=209.85.214.173 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="QlYSw+lN" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2cacb8416a1so31948965ad.1 for ; Mon, 24 Aug 2026 09:30:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787589007; x=1788193807; darn=vger.kernel.org; h=content-transfer-encoding:content-type:subject:date:cc:to:from :mime-version:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=6B3ViVSePY8bGEGesHzb0SHVgCkE//HrBXzeI0IuavI=; b=QlYSw+lNXdixVYaz9gNyNtxvsKqKp+o9lxwXxltpZtdNtyschok8i4FVsACDmWz66j GuiQV4yt6xdkjKKq1VyrWb25ieS50jWDLgyijfGb36pbeedcOPujTdAs/IlKT0ZVNYJw 45mVCLRBOX4HoaBnJg64USsqrEFXDVQOTLu2AGKG9cE7FzFoL+InOm6S1TO3CDzXv3Ac ZrniXO+HZoIVvXASnmQyRgk1ldmKR/4xch274O/Nv+yWAq5h1mTA0BcaFUu+WiuvQ5Ef OUz9ks7MXsMSwNnAP7L04FUA+6yclyB7WZV5pifDOvxsh0Uug9AADE7Xcf8HPSeI3Bh9 gQ8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787589007; x=1788193807; h=content-transfer-encoding:content-type:subject:date:cc:to:from :mime-version:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=6B3ViVSePY8bGEGesHzb0SHVgCkE//HrBXzeI0IuavI=; b=JniorhdjRPZw6L+w8YrsQJmT9QgxPKdFI+hZDeEhDMf00TNHGOI6Mb9Apw7PR9UnJs 5zt3NDU3Q4LIH1zXOauACABQtAAl40agKXEaD86AE62z4VtaRRrhUO74jkzZtdlX7biO ytXJLKtYDdNy/DyEeo5oX/Y38Z4PVvfJk92WLjDmqEN7JfLFFzqDujNmgrcZFH6IuhQ0 H6PIJKKLwZ0JdZsMLpyU+eIkdGJPt/Mg/2ry8SBiHLVQ3y6YyfYkkf8cx5h6NtX0p+38 W5NHeCn9Mz1kcKqepP1kpa0YXfgpCqBrMpIUe9DcKCqQ+OG+sUL23+qSUUid8oOkA3vW 4C9A== X-Gm-Message-State: AFuF++kQO0nbVtJcDzujten8MoTFggslMWz28gsYQ1SwEHAh3qMRhBOD KlhGpV1bD4BXVDsZ73myiOwNcdYxQQobGF5sgqBCd8Se7tSxMW5bJGSu X-Gm-Gg: AR+sD12qTtwc4Te/0QwciTbK8FU2gr8GsnLjZWbuzc9KLyH86H0scdgC57o3POgUh2+ AZioXo2Ba9Oj6bvw3uABWY1zo6GoSp1hjKCwnpuBp7O7nkyNI2MzTCQLWCgQwEIx1XzvmtuZc5f rAjKNKdKBnPnLWl2VPZyOkIMp2PqOUgTY1l+y0/x3pHwZtLccyzlaNb5vtPKSpWc4sUB9lzdEI3 F207sG0lWEHxbthHwsRgb5LOKioaS22d6VHy0Zt9gamnO3yv8W4NlfaxExi88xmqrTydDg9Sbud YiRbmPUez/TQd2kn5g9hVFyUaXtvBpKs+OhFxJQuziEx9E+r2zlCZ03EIXLBCY5gXAyEw5CuhZ0 15uibeP4mnF0re7S9kmG99Jyh0eZ5VLSpfaDqLoulRky4OtA1JxCzrE+TPGqR0+ajBGSuJsLjEf wy51yQ3nghYpmYFzKh01dq/uaq1+lwwPd214tUTbRbjH1GNYgv4jFlaCCFHtnNBu5e0h4IoA8s4 D/8SPUWmeyekiWa6ci24PVxBfApWAuq0mczVMqARYXW7oscpDRYYUquog== X-Received: by 2002:a17:902:f647:b0:2cf:afa5:b19a with SMTP id d9443c01a7336-2d6dcbc9385mr7104135ad.11.1787589005145; Mon, 24 Aug 2026 09:30:05 -0700 (PDT) Received: from manush ([2406:7400:94:a5e3:4d43:ded5:1c68:7d38]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-327f9236166sm27608863eec.28.2026.08.24.09.30.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Aug 2026 09:30:04 -0700 (PDT) Message-ID: <6a8c718c.160324b0.2e71f9.d555@mx.google.com> X-Mailer: git-send-email-equivalent-ps1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: "Manush Prajwal" To: jassisinghbrar@gmail.com Cc: linux-kernel@vger.kernel.org Date: 24 Aug 2026 22:00:04 +0530 Subject: [PATCH v2] mailbox: mtk-cmdq: fix runtime PM usage counter leak in cmdq_mbox_flush Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable cmdq_mbox_flush() calls pm_runtime_get_sync() and returns its err= or=0D=0Acode directly on failure. Per Documentation/power/runtime= _pm.rst,=0D=0Apm_runtime_get_sync() does not drop the usage count= er on error, so the=0D=0Acaller is expected to release the refere= nce itself. The early return=0D=0Ahere skips that, leaking a runt= ime PM usage count on cmdq->mbox.dev on=0D=0Aevery failed resume.= =0D=0A=0D=0AFix it by switching to pm_runtime_resume_and_get(), w= hich performs the=0D=0Aget-and-put internally on failure so the c= aller doesn't need a manual=0D=0Apm_runtime_put_noidle(), per Mar= kus Elfring's review of v1.=0D=0A=0D=0ASigned-off-by: Manush Praj= wal =0D=0A---=0D=0Av2: Use pm_runtime= _resume_and_get() instead of pm_runtime_get_sync()=0D=0A plus = a manual pm_runtime_put_noidle() on the error path, per=0D=0A = Markus Elfring's review.=0D=0A=0D=0A drivers/mailbox/mtk-cmdq-mai= lbox.c | 2 +-=0D=0A 1 file changed, 1 insertion(+), 1 deletion(-)= =0D=0A=0D=0Adiff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/dri= vers/mailbox/mtk-cmdq-mailbox.c=0D=0Aindex e523c84b4..b1a2c3d4e 1= 00644=0D=0A--- a/drivers/mailbox/mtk-cmdq-mailbox.c=0D=0A+++ b/dr= ivers/mailbox/mtk-cmdq-mailbox.c=0D=0A@@ -565,7 +565,7 @@ static = int cmdq_mbox_flush(struct mbox_chan *chan, unsigned long timeout= )=0D=0A int ret;=0D=0A=0D=0A- ret =3D pm_runtime_get_sync(cmdq->= mbox.dev);=0D=0A+ ret =3D pm_runtime_resume_and_get(cmdq->mbox.de= v);=0D=0A if (ret < 0)=0D=0A return ret;=0D=0A=0D=0A--=0D=0A2.= 46.2.windows.1