<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Haswell: lock screen disappears temporarily after dmps force off/on (laptop lid close/open)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=73842#c9">Comment # 9</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Haswell: lock screen disappears temporarily after dmps force off/on (laptop lid close/open)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=73842">bug 73842</a>
              from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
        <pre>My theory is that this should be fixed by:

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 000d9ab..5ab42ec 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -1422,6 +1422,8 @@ static struct kgem_bo *sna_crtc_attach(xf86CrtcPtr crtc)

                DBG(("%s: attaching to single shadow pixmap\n", __FUNCTION__));
                if (sna->mode.shadow == NULL) {
+                       BoxRec box;
+
                        bo = kgem_create_2d(&sna->kgem,
                                            sna->scrn->virtualX,
                                            sna->scrn->virtualY,
@@ -1431,6 +1433,18 @@ static struct kgem_bo *sna_crtc_attach(xf86CrtcPtr crtc)
                        if (bo == NULL)
                                return NULL;

+                       box.x1 = box.y1 = 0;
+                       box.x2 = sna->scrn->virtualX;
+                       box.y2 = sna->scrn->virtualY;
+
+                       if (!sna->render.copy_boxes(sna, GXcopy,
+                                                   sna->front,
sna_pixmap(sna->front)->gpu_bo, 0, 0,
+                                                   sna->front, bo, 0, 0,
+                                                   &box, 1, 0)) {
+                               kgem_bo_destroy(&sna->kgem, bo);
+                               return NULL;
+                       }
+
                        if (!get_fb(sna, bo,
                                    sna->scrn->virtualX,
                                    sna->scrn->virtualY)) {</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>