Screen freeze up after changing display mode to external display only
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Hardware: Lenovo ThinkPad X280 with Lenovo USB-C dock
OS: Ubuntu Desktop 18.04.1 LTS, kernel 4.15.0-44-generic
== Reproduce steps ==
1. Connect one screen to Lenovo USB-C dock.
2. Connect Lenovo ThinkPad X280 to Lenovo USB-C dock.
3. Boot Ubuntu Linux and login. The external and built-in display will work in join display mode.
4. Press Fn+F7 and select external display only.
== Expected result ==
Use the external display to display GUI.
== Actual result ==
The built-in display freeze up. Nothing (blank) on the external display.
System does not respond to keyboard input.
If there is an external keyboard connected, Num-lock indicator will not change after pressing Num-lock key on the external keyboard.
Other processes are still running. If the Spotify is running, it will keep playing the music. Having a script as below will keep writing to a file
while [ true ]; do
date >> time-log.log
sync
sleep 1
done
== Additional information ==
Not reproducible on Ubuntu 18.04.1 LiveUSB (kernel 4.15.0-29-generic)
Not reproducible on kernel 4.15.0-43-generic (by selecting the kernel in GRUB)
Always reproducible on kernel 4.15.0-44-generic
Not reproducible if the screen is directly connected to the HDMI port on ThinkPad X280
On kernel 4.15.0-43-generic, it will generate the following kernel message after selecting external display. The external display will work correctly.
[ 80.165447] thunderbolt 0000:04:00.0: control channel starting...
[ 80.165450] thunderbolt 0000:04:00.0: starting TX ring 0
[ 80.165457] thunderbolt 0000:04:00.0: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1)
[ 80.165458] thunderbolt 0000:04:00.0: starting RX ring 0
[ 80.165465] thunderbolt 0000:04:00.0: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001)
On kernel 4.15.0-44-generic, it will generate the following kernel message after selecting external display. The external display is blank and the built-in display will freeze.
I run command "sleep 60 ; dmesg > dmesg.log" to record the kernel message after selecting external display, as the keyboard will become irresponsive.
[ 625.581884] BUG: unable to handle kernel NULL pointer dereference at 0000000000000245
[ 625.581980] IP: intel_ddi_
[ 625.581986] PGD 0 P4D 0
[ 625.581997] Oops: 0000 [#1] SMP PTI
[ 625.582002] Modules linked in: snd_usb_audio snd_usbmidi_lib hid_generic usbhid hid cdc_ether usbnet r8152 mii rfcomm ccm xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_
[ 625.582114] intel_rapl_perf snd_soc_acpi mac80211 snd_soc_core input_leds rmi_smbus uvcvideo snd_compress serio_raw ac97_bus intel_wmi_
[ 625.582229] i915 i2c_algo_bit drm_kms_helper nvme e1000e syscopyarea psmouse sysfillrect sysimgblt ptp fb_sys_fops i2c_i801 pps_core nvme_core drm thunderbolt wmi video
[ 625.582266] CPU: 6 PID: 1813 Comm: Xorg Not tainted 4.15.0-44-generic #47-Ubuntu
[ 625.582270] Hardware name: LENOVO 20KFS05Q00/
[ 625.582344] RIP: 0010:intel_
[ 625.582349] RSP: 0018:ffff9dacc3
[ 625.582356] RAX: 0000000000000007 RBX: ffff896954080000 RCX: ffffffffc0542272
[ 625.582361] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff896954080000
[ 625.582366] RBP: ffff9dacc3f97a90 R08: 0000000000000007 R09: 0000000000000000
[ 625.582370] R10: 000000000000016f R11: 00000000000000d3 R12: 0000000000000000
[ 625.582375] R13: ffff896954080000 R14: ffff896953e68000 R15: ffff896955324800
[ 625.582382] FS: 00007ff4b903460
[ 625.582388] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 625.582393] CR2: 0000000000000245 CR3: 0000000411fea004 CR4: 00000000003606e0
[ 625.582397] Call Trace:
[ 625.582467] ? intel_dp_
[ 625.582531] intel_mst_
[ 625.582599] intel_encoders_
[ 625.582660] haswell_
[ 625.582724] intel_atomic_
[ 625.582784] intel_atomic_
[ 625.582826] drm_atomic_
[ 625.582858] drm_atomic_
[ 625.582890] drm_mode_
[ 625.582921] ? drm_mode_
[ 625.582947] drm_mode_
[ 625.582975] drm_ioctl_
[ 625.583001] drm_ioctl+
[ 625.583027] ? drm_mode_
[ 625.583038] ? __handle_
[ 625.583047] ? sock_poll+0x74/0x90
[ 625.583058] do_vfs_
[ 625.583064] ? handle_
[ 625.583074] SyS_ioctl+0x79/0x90
[ 625.583083] do_syscall_
[ 625.583093] entry_SYSCALL_
[ 625.583100] RIP: 0033:0x7ff4b642f5d7
[ 625.583105] RSP: 002b:00007ffffc
[ 625.583112] RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007ff4b642f5d7
[ 625.583117] RDX: 00007ffffc24e7d0 RSI: 00000000c01064ab RDI: 000000000000000c
[ 625.583121] RBP: 00007ffffc24e7d0 R08: 000055b2137c5cd0 R09: 0000000000000008
[ 625.583126] R10: 000055b2137a4140 R11: 0000000000000246 R12: 00000000c01064ab
[ 625.583131] R13: 000000000000000c R14: 000055b213409270 R15: 000055b212cb7b70
[ 625.583137] Code: 0d f6 86 44 02 00 00 40 0f 85 81 00 00 00 83 f8 06 72 77 83 f8 08 76 13 83 f8 0a 75 6d 41 f6 86 60 06 00 00 40 0f 84 dd 00 00 00 <41> f6 84 24 45 02 00 00 08 4d 8d bd 00 01 00 00 74 3e 48 89 df
[ 625.583300] RIP: intel_ddi_
[ 625.583305] CR2: 0000000000000245
[ 625.583311] ---[ end trace 4825f4f3c3ccd1c6 ]---
BIOS / embedded controller / Intel ME version as below
Lenovo X280 model 20KFS05Q00
BIOS 1.16 (N20ET31W)
EC 1.05 (N20HT18W)
ME 11.8.50.3460 (N20RG10W)
ThinkPad USB-C Dock firmware 3.7
BillBoard(BB) FW: 0.1.0.23
USB Hub(HX3) FW: 1.14.7.183
PD(CCG4 DK) FW: 1.3.40
DP Hub FW: 3.12.005
affects: | ubuntu → linux (Ubuntu) |
Status changed to 'Confirmed' because the bug affects multiple users.