Le 23/04/2012 00:18, Marcin Slusarz a ?crit : > Signed-off-by: Marcin Slusarz<marcin.slusarz at gmail.com> > --- > drivers/gpu/drm/nouveau/nv50_graph.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c > b/drivers/gpu/drm/nouveau/nv50_graph.c > index 6899547..a61853f 100644 > --- a/drivers/gpu/drm/nouveau/nv50_graph.c > +++ b/drivers/gpu/drm/nouveau/nv50_graph.c > @@ -435,6 +435,11 @@ nv84_graph_tlb_flush(struct drm_device *dev, int engine) > if ((tmp& 7) == 1) > idle = false; > } > + > + if (fatal_signal_pending(current)) { > + ret = -ERESTARTSYS; > + break; > + } > } while (!idle&& !(timeout = ptimer->read(dev) - start> 2000000000)); > > if (timeout) { Good, but who should send the kill signal in the first place?
Shouldn't nouveau drm terminate the process(es) associated with the channel that generated the lockup ? Can you provide more info on how the lockup recovery works? Thanks in advance, Martin