<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO --- - sna: (Haswell) X-server freezes when enabling DP at docking station"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=71267#c26">Comment # 26</a>
              on <a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO --- - sna: (Haswell) X-server freezes when enabling DP at docking station"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=71267">bug 71267</a>
              from <span class="vcard"><a class="email" href="mailto:consume.noise@gmail.com" title="Daniel Martin <consume.noise@gmail.com>"> <span class="fn">Daniel Martin</span></a>
</span></b>
        <pre>Created <span class=""><a href="attachment.cgi?id=90101" name="attach_90101" title="dmesg 3.13.0-rc1 with hack from comment #24">attachment 90101</a> <a href="attachment.cgi?id=90101&action=edit" title="dmesg 3.13.0-rc1 with hack from comment #24">[details]</a></span>
dmesg 3.13.0-rc1 with hack from <a href="show_bug.cgi?id=71267#c24">comment #24</a>

dmesg 3.13.0-rc1 with:
- hack from <a href="show_bug.cgi?id=71267#c24">comment #24</a>
- DRM_DEBUG_KMS messages before, inside and when leaving a lock on
mode_config.mutex
- DRM_DEBUG_KMS messages before schedule/cancel_delayed_work(_sync) on
panel_vdd_work (That's why "XXX: schedule work (msecs_to_jiffies)..." shows
up.)

I've to recall my statement in <a href="show_bug.cgi?id=71267#c24">comment #24</a>:
<span class="quote">> I know that's not atomic. But, in case of the bug it runs into the if-clause (so, the mutex is locked) and gives a warning about an unbalanced unlock. Then it moves on and ironlake_panel_vdd_work() gets stuck when trying to lock mode_config.mutex.</span >

With the hack applied it doesn't deadlock in ironlake_panel_vdd_work() when
aquiring the lock on mode_config.mutex. Comparing the dmesg output with the
preemption workaround, see <span class=""><a href="attachment.cgi?id=89947" name="attach_89947" title="dmesg 3.11 (working! - with preemption)">attachment #89947</a> <a href="attachment.cgi?id=89947&action=edit" title="dmesg 3.11 (working! - with preemption)">[details]</a></span>, I miss
intel_dp_set_signal_levels() and friends between haswell_write_eld() and
ironlake_panel_vdd_work().

Notes on dmesg:
@57.286024 I've plugged in the monitor and wait.

@263.064377 More than 120s are gone and no "task kworker/xyz blocked for more
than 120 seconds" message showed up. Try to start Xorg and wait.

@480.271406 "INFO: task Xorg:152 blocked for more than 120 seconds." Yep, last
message in Xorg.0.log is "xfree86: Adding drm device (/dev/dri/card0)". The
nice retro pattern never showed up. ;)

@480.307359 "INFO: lockdep is turned off." Heee? I've definitly enabled
lockdep, made a `make clean && make` in the kernel tree and in /proc/config.gz
I can find CONFIG_LOCKDEP=y.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>