Re: [PATCH 2/3] drm/nouveau: cancel the DP IRQ work before freeing the connector

[email protected]
Newsgroups org.freedesktop.lists.nouveau,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Sat, 2026-08-15 at 22:42 +0200, Marek Czernohous wrote:
> But the wider question the bot is asking is fair, and my cover letter
> answered it too confidently.  It says "there is no fourth patch here"
> on the strength of drm->hpd_work being drained in
> nouveau_display_fini().  Having looked again after the bot's mail: that
> drain runs at nouveau_display.c:600 under "if (!runtime &&
> !drm->headless)", and disp->fini() drains it a second time under the
> same condition (dispnv50/disp.c:2686, dispnv04/disp.c:72, which I had
> not spotted when I wrote the cover).  Both of those are before
> drm_mode_config_cleanup() reaches nouveau_connector_destroy().  So a
> late irq_work really can re-arm hpd_work after every drain, and nothing
> drains it again.  Whether that is reachable in practice I do not know:
> nvif_event_block() on conn->irq has already run by then, so it needs
> work that was queued before the block and has not run yet.

Actually - after rereading this again, nah - this isn't an issue. So
long as the connector IRQs are blocked at that point, it should be
good. MST connectors aren't, but that's also fine - they use the IRQ
notify thingies of the non-MST connectors, so they're indirectly
blocked by that.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.