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.

Reply via email to