From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1D4835E95D; Sat, 28 Feb 2026 17:41:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300504; cv=none; b=mhgc/Eh5WicRjZ113fmBm7ecPxaRBfpHb/6Vdjipp71f4Kc6bUpfgdSlsvM5wo7YShncecAsneHIluadD3LGEj0WJ7HZfypkYucHtIsqZ4xiZZ/RS1Dzh2gK6VhxwoQ1XGpCuqGjUEF1rpQDAb9TPQCphrr7u/V1mrBKXmUcDsc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300504; c=relaxed/simple; bh=urhlAVyJVrIQmbbWAZrRGMlFqaW3ozV6GJGeuHGKLvY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=It4Rb5SGpBSO/Ug4VuRiLAo9hQzN+2hzJCH1FBcMqqcN/RceUj6NkQ0jix/CsI66w5iGAsG1K0LY16MLcbwAKLVIhN8uz7YP5bYaydKY4D4kTmVduKIhEw/qVP7RKViY7m0MJnNUgaw80j74jngX9Ewqn99E+pqtzq1Otz9FvcI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=r80BTX+z; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="r80BTX+z" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B846AC116D0; Sat, 28 Feb 2026 17:41:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772300504; bh=urhlAVyJVrIQmbbWAZrRGMlFqaW3ozV6GJGeuHGKLvY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r80BTX+zXv3bISyLRMR9e1hL/H1xjkgDWzp/FspdL/wgTg278CiomBLtJjNnCxTvM /JkfCdehgGycEX7u8Ve1t+p5JmcSrpABVkQF5Hrc/hBtcenUGacCZElR2sfS3GjTfi aDNMXzpIcKOrBNyzQFCSF2FSTpmxidtVdIpK0R8UL3QU+OmrLfwsK6WW8iuwlZ0S1H 0j7gC7zJh7zY6WCSW79b3cwgnwVQ0Z+yh4O79pVuwhsvRi61+NTZ7yNXzpwYRBLDPm 26vLgWrUHs+ADjPPYRVvG91PuuS3qJRyGa2dv+TMNgxemxbGOWqJ+k7uTc9ei5vKHV W4GhuhZ4qmn4g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Xulin Sun , Nicolas Dufresne , Hans Verkuil , Sasha Levin Subject: [PATCH 6.19 542/844] media: chips-media: wave5: Fix PM runtime usage count underflow Date: Sat, 28 Feb 2026 12:27:35 -0500 Message-ID: <20260228173244.1509663-543-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260228173244.1509663-1-sashal@kernel.org> References: <20260228173244.1509663-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Xulin Sun [ Upstream commit 9cf4452e824c1e2d41c9c0b13cc8a32a0a7dec38 ] Replace pm_runtime_put_sync() with pm_runtime_dont_use_autosuspend() in the remove path to properly pair with pm_runtime_use_autosuspend() from probe. This allows pm_runtime_disable() to handle reference count cleanup correctly regardless of current suspend state. The driver calls pm_runtime_put_sync() unconditionally in remove, but the device may already be suspended due to autosuspend configured in probe. When autosuspend has already suspended the device, the usage count is 0, and pm_runtime_put_sync() decrements it to -1. This causes the following warning on module unload: ------------[ cut here ]------------ WARNING: CPU: 1 PID: 963 at kernel/kthread.c:1430 kthread_destroy_worker+0x84/0x98 ... vdec 30210000.video-codec: Runtime PM usage count underflow! Fixes: 9707a6254a8a ("media: chips-media: wave5: Add the v4l2 layer") Cc: stable@vger.kernel.org Signed-off-by: Xulin Sun Reviewed-by: Nicolas Dufresne Signed-off-by: Nicolas Dufresne Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin --- drivers/media/platform/chips-media/wave5/wave5-vpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/platform/chips-media/wave5/wave5-vpu.c b/drivers/media/platform/chips-media/wave5/wave5-vpu.c index e1715d3f43b0d..23aa3ab51a0ef 100644 --- a/drivers/media/platform/chips-media/wave5/wave5-vpu.c +++ b/drivers/media/platform/chips-media/wave5/wave5-vpu.c @@ -356,7 +356,7 @@ static void wave5_vpu_remove(struct platform_device *pdev) hrtimer_cancel(&dev->hrtimer); } - pm_runtime_put_sync(&pdev->dev); + pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_disable(&pdev->dev); mutex_destroy(&dev->dev_lock); -- 2.51.0