From: Wentao Liang <vulab@iscas.ac.cn>
To: lyude@redhat.com, dakr@kernel.org
Cc: nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org, Wentao Liang <vulab@iscas.ac.cn>,
stable@vger.kernel.org
Subject: [PATCH] drm/nouveau: Remove the audio device link on component unbind
Date: Tue, 3 Nov 2026 07:03:31 +0000 [thread overview]
Message-ID: <20261103070331.1079868-1-vulab@iscas.ac.cn> (raw)
nv50_audio_component_bind() creates a stateless device link from the HDA
device to the GPU. Component unbind clears the audio component pointers
but never removes that link. Stateless links are reference counted and
must be explicitly released by their caller, so repeated component binds
retain a link reference on every cycle.
Remove the link after disconnecting the audio component in unbind. This
also covers a later failure of the HDA component master's bind callback.
Fixes: 742db30c4ee6 ("drm/nouveau: Add HD-audio component notifier support")
Cc: stable@vger.kernel.org
Assisted-by: DeepSeek-V4.1-Flash and OpenAI Codex
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
drivers/gpu/drm/nouveau/dispnv50/disp.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
index e91130f93db6..bcfddb7008ac 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
@@ -672,6 +672,8 @@ nv50_audio_component_unbind(struct device *kdev, struct device *hda_kdev,
acomp->ops = NULL;
acomp->dev = NULL;
drm_modeset_unlock_all(drm->dev);
+
+ device_link_remove(hda_kdev, kdev);
}
static const struct component_ops nv50_audio_component_bind_ops = {
--
2.34.1
next reply other threads:[~2026-11-03 7:03 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-03 7:03 Wentao Liang [this message]
2026-11-03 7:26 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261103070331.1079868-1-vulab@iscas.ac.cn \
--to=vulab@iscas.ac.cn \
--cc=dakr@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lyude@redhat.com \
--cc=nouveau@lists.freedesktop.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®