Le 23/04/2012 00:18, Marcin Slusarz a écrit :
Signed-off-by: Marcin Slusarz<marcin.slus...@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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to