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.
