Bug 1321296 - 4.4 kernel does not discover LVDS when docked
Summary: 4.4 kernel does not discover LVDS when docked
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-drv-intel
Version: 23
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Adam Jackson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-03-25 09:55 UTC by Michael K Johnson
Modified: 2017-07-09 18:00 UTC (History)
20 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-12-20 19:38:09 UTC
Type: Bug


Attachments (Terms of Use)

Description Michael K Johnson 2016-03-25 09:55:38 UTC
Description of problem:
With at least my own Lenovo T440p and work Lenovo T450, both with Intel
graphics, at least when I boot the system in the dock, then if I undock
and then re-dock, the system does not recognize the monitor or monitors
connected to the dock and displays only on the built-in laptop display.

It is likely that the problem happens only if the laptop goes to sleep
while undocked.

Version-Release number of selected component (if applicable):
kernel-4.4.4-301.fc23.x86_64
kernel-4.4.5-300.fc23.x86_64
kernel-4.4.6-300.fc23.x86_64


How reproducible:
Reliably.

Steps to Reproduce:
1. Boot in dock
2. Undock, sleep, wake up, redock
3. Re-dock

Actual results:
Monitor connected to dock is unused, monitor not recognized. Errors in
dmesg:

[466015.768753] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466015.770286] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466016.454062] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466016.454080] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466016.473116] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466016.474667] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466017.158445] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466017.158470] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466017.177484] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466017.178993] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466017.862409] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466017.862426] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466017.881464] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466017.883014] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466018.566108] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466018.566123] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466018.585145] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466018.585175] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466018.586714] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466019.270016] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466019.270046] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466019.289054] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466019.289090] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466019.290639] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466019.974681] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466019.974699] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466019.993736] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466019.993770] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466019.995315] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466020.678827] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466020.678867] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466020.679332] [drm:intel_dp_link_training_channel_equalization [i915]] *ERROR* failed to train DP, aborting
[466020.679370] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466020.681486] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466020.683521] [drm:intel_dp_link_training_channel_equalization [i915]] *ERROR* Timed out waiting for DP idle patterns
[466020.683543] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466020.683579] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466020.688427] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466020.689938] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466021.373912] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466021.373931] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466021.392940] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466021.394493] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466022.078572] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466022.078589] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466022.097630] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466022.098894] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466022.702068] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466022.702082] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466022.718745] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466022.720332] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466023.404082] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466023.404100] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466023.423108] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466023.423143] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466023.424681] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466024.108708] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466024.108726] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466024.127766] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466024.129317] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466024.813277] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466024.813295] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466024.832340] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466024.832374] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466024.833910] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466025.517970] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
[466025.517988] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466025.518505] [drm:intel_dp_link_training_channel_equalization [i915]] *ERROR* failed to train DP, aborting
[466025.518519] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466025.520651] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466025.522734] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[466025.522772] [drm:intel_dp_link_training_channel_equalization [i915]] *ERROR* Timed out waiting for DP idle patterns
[466025.522790] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt


Expected results:

Monitor recognized and used.

Additional info:

Rebooting into 4.3.5-300.fc23.x86_64 works around the problem.

Comment 1 Michael K Johnson 2016-03-25 10:22:48 UTC
I don't know whether it matters whether I boot docked.  Every time this
happened, the system has been in the dock when I booted.  I don't yet
know what happens if I boot undocked and then dock.  If that is important
to diagnosing the problem, I can experiment.

Comment 2 Michael K Johnson 2016-04-07 01:38:59 UTC
I just experienced a similar symptom with 4.3.3-303.fc23.x86_64 after many successful undock/dock cycles:

[388642.070874] thinkpad_acpi: docked into hotplug port replicator
[388642.158475] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[388642.158502] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[388642.160052] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt
[388642.844876] [drm:intel_dp_start_link_train [i915]] *ERROR* too many voltage retries, give up

With 4.4 kernels, it seems never to work; with 4.3, I've seen one
instance of failure now, though once it fails it seems to be a permanent
case.  A sleep/wakeup cycle does not sufficiently reset it to work again.

Comment 3 Michael K Johnson 2016-05-03 23:47:42 UTC
I am currently running 4.4.8-300.fc23.x86_64 and it is not exhibiting the
problem.  I booted docked and have since had several cycles of docking
and undocking, as well as software-initiated and lid-close-initiated
suspend:
$ dmesg | grep 'ThinkPad Dock'
[    1.717658] usb 4-5: Product: Lenovo ThinkPad Dock   
[    1.919875] usb 3-9: Product: Lenovo ThinkPad Dock   
[    2.407340] usb 3-9.4: Product: Lenovo ThinkPad Dock
[ 3049.452626] usb 3-9: Product: Lenovo ThinkPad Dock   
[ 3049.822189] usb 3-9.4: Product: Lenovo ThinkPad Dock
[ 7298.907517] usb 4-5: Product: Lenovo ThinkPad Dock   
[52911.311570] usb 4-5: Product: Lenovo ThinkPad Dock   
[52911.605273] usb 3-9: Product: Lenovo ThinkPad Dock   
[52911.976259] usb 3-9.4: Product: Lenovo ThinkPad Dock

Since 4.3 has since failed occasionally with this pattern and now a newer
4.4 is at least in one case not reproduced the problem, I can't call it
reliably reproducible any more.  I also updated the entire system since
the problem started, so the improvement with the new kernel could be due
to other updates.

Comment 4 Michael K Johnson 2016-05-04 09:46:40 UTC
However, it hasn't been fixed either, since it just recurred after one
more suspend-resume cycle from that same instance of 4.4.8-300.fc23.x86_64

I'll reboot it undocked now.

Comment 5 Michael K Johnson 2016-05-12 09:54:16 UTC
4.4.8-300.fc23.x86_64 reproduced the problem after quite a few cycles
over eight days of uptime, initially booted undocked, and six docking
events.

Comment 6 Fedora End Of Life 2016-11-24 16:13:53 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 7 Fedora End Of Life 2016-12-20 19:38:09 UTC
Fedora 23 changed to end-of-life (EOL) status on 2016-12-20. Fedora 23 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.