From nobody Tue Sep 29 11:19:29 2026 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (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 657A64B0498 for ; Sat, 8 Aug 2026 14:01:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786197718; cv=none; b=JE5ncgwfYwgH5WebdrPcY8dqxDguS97syZGor1g/ScCWeEl1yrCx9V0otrVgeHdsIZx3FVIPyKJsg3MRSiETQil87q13+3ttTgO7M8qtYdEQFxlnwxQqeKvQJUUO9uzA5lEjoKkx+FwMtIBq4oKOhOQ02WhfBjKW8l3ICcOYFmU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786197718; c=relaxed/simple; bh=tZMn7kozQpAUSV0Xgz2mGxbRvNsRGrJn6iQ5fog+P78=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=T/7b2vUC42Yx20sJN2pFAQzEdsKdmHKDr+g+S5ceATG0/8pEPQ/ueNLy6ER8KaUNTPoKwmvRPLpmDGGSGocoDzerSfwEw3zaqwiZAt/uJdYyWSaK7lccxMrABQ7bq2lPwuGQYgQCXxzR5Cw16OVVBx/CYDyfP+pIZWiK15unmYQ= 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=eEjYDMF3; arc=none smtp.client-ip=209.85.216.50 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="eEjYDMF3" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-38d489b6b71so425157a91.0 for ; Sat, 08 Aug 2026 07:01:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786197717; x=1786802517; 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:content-type; bh=LWQEkJchPYeC0ZoavYUr3xCkFVeRdSuQOuSKSluD+U8=; b=eEjYDMF3dYTxTeNk7sy+sAVtVmm/iIFRGbUTIDonYuNN5+VLlJw+VRAC7GQduaj6Y2 0ufFeAJsYqyB9OptOLoUxbW5GO/YZHUDLr7dBuL0zWjRRiXbNkOcIgVn5QE3MiALJyNs u587kvjayq4UhoTrrbvQYXC1C/hegUc7G+9GJMqYKcP+5t3d0RSmXgnKyRTevT9ABT8s oxpCtGrM8Pu46L8/2gXjFBS9u9XB370xAXaYdIgWsMJw2LPTw0awE/dO6Z0z2hUMqeih rmpcPuF9CXF6IZw+EGpUuNgdQeINQkEb8v4xmfIgjwMmWOh5qj/9VcIpRfvQGaaDppPs gKpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786197717; x=1786802517; 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:content-type; bh=LWQEkJchPYeC0ZoavYUr3xCkFVeRdSuQOuSKSluD+U8=; b=drQNCbANZ6bPlfPI2HlyWmpXXyjsvvkXkyp5l14jLfxgk2OUu7I1K3+Vyt7zOz249k TOOAgtv5Em+ln52GLsqTHSij/ZYYCRzp3aLLrklVZ6tC8qSBIa542bZVOHTDjeueJl+G cE4OA9kBnwjDJdsPFNkmc2y2h59ZudPWaanvkcK5yXHD6BzhOHeKCJ2VDCGpnpgWEYoj O01Jy1FWde9aJAlpuHz3MClCBLQzxtwOFnAZKBv1NfXwlxl/23OAiJ9pAGiatMZPDnbl S2bG27kSb2EZTPvTKm0XQbYEHKYnnA0sAZQqcnfHOrdvjeOYb7dUg8rAeLTlUOQoioxy KcuQ== X-Forwarded-Encrypted: i=1; AHgh+RrU3SehDSeNVKBMCYSFwp326H2Qd6Ystxmu8CZwQW3C3eA1Q+XRDAVegkoOI9i+BzexsQd3flv0bJTbRiM=@vger.kernel.org X-Gm-Message-State: AOJu0YywTiCHnv5d3OCTNTrwvEbZA7CY8fHuiTvlUytnUt+Q7LJDX6Q1 X47KYrPhFL0hkzO+gTn1S1FUmKQ9jjjxfC7CIFdjPCyHjtz1n3v+mdWQ X-Gm-Gg: AR+sD10OT2kaQFWOvwJMyXw9p0eWh99lj8/6+FOouJGsEpJH86ZCvrC92xwt+PUpxYu GOdbCZr6mb8xkx0mAv1mea7YQ0Vm7ZZ9NlyNQ/ohGrjJtEWS5e0QZPxvmA25mpsdaDNuE1qwyQj XGeWMBurJR9uwB3LogW5BznR+L+AAzCSmUjSDbG2JWZ/cj6RzTbANLwrNVjHn5GwcKiupi1/7aI +T0cmAe2ea8VkdfT+XdBixn/zescttyywCZojqcIng3z2H54z4ba3B1r3LOEbV0pJR+8zWzCXxx tyOO2Tqfqjuo7+uLsiXsBUqAA62MOEjj8l5JKOOJpddXc72PtIkS8Y+6sHp/Xma/2MlMfahccC6 2DeA2KFmR0/QQUDMN+lO4Qt05YmgfExB5297wMq5eECW1wzoyp+q/f5cjVXl9fOj0iAJ+v1NrbE Kn/G6ustJ8q4kEYvIrgoYeopUznmD0nXfBOM94xOWuEiY= X-Received: by 2002:a17:90b:3f43:b0:37c:6130:7a5b with SMTP id 98e67ed59e1d1-3903c54302bmr31739321a91.8.1786197716470; Sat, 08 Aug 2026 07:01:56 -0700 (PDT) Received: from lgs.. ([2001:250:5800:1000::f280]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39085dbf82csm8638162a91.1.2026.08.08.07.01.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Aug 2026 07:01:55 -0700 (PDT) From: Guangshuo Li To: Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , David Airlie , Simona Vetter , Dave Airlie , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Guangshuo Li , stable@vger.kernel.org Subject: [PATCH] drm/radeon: fix autosuspend cleanup during teardown Date: Sat, 8 Aug 2026 21:59:42 +0800 Message-ID: <20260808135942.2880971-1-lgs201920130244@gmail.com> X-Mailer: git-send-email 2.43.0 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" radeon_driver_load_kms() calls pm_runtime_use_autosuspend() for PX devices, but radeon_driver_unload_kms() does not call the matching pm_runtime_dont_use_autosuspend() during teardown. If the autosuspend delay is set to a negative value while autosuspend is enabled, the runtime PM core increments usage_count to prevent runtime suspend. Without calling pm_runtime_dont_use_autosuspend() during teardown, this reference is not dropped. The documentation for pm_runtime_use_autosuspend() also notes that it is important to undo it with pm_runtime_dont_use_autosuspend() at driver exit time, unless runtime PM was initially enabled with devm_pm_runtime_enable(). Add the missing pm_runtime_dont_use_autosuspend() call to the driver unload path. This issue was found by manual code inspection. Fixes: 10ebc0bc0934 ("drm/radeon: add runtime PM support (v2)") Cc: stable@vger.kernel.org Signed-off-by: Guangshuo Li --- drivers/gpu/drm/radeon/radeon_kms.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/r= adeon_kms.c index dc43fd790a9c..4a99c09f4164 100644 --- a/drivers/gpu/drm/radeon/radeon_kms.c +++ b/drivers/gpu/drm/radeon/radeon_kms.c @@ -71,6 +71,7 @@ void radeon_driver_unload_kms(struct drm_device *dev) if (radeon_is_px(dev)) { pm_runtime_get_sync(dev->dev); pm_runtime_forbid(dev->dev); + pm_runtime_dont_use_autosuspend(dev->dev); } =20 radeon_acpi_fini(rdev); --=20 2.43.0