[SRU][Q][PATCH 0/2] Hotplug dock with monitor leads to call trace
AceLan Kao
acelan.kao at canonical.com
Fri Dec 26 06:19:13 UTC 2025
From: "Chia-Lin Kao (AceLan)" <acelan.kao at canonical.com>
BugLink: https://bugs.launchpad.net/bugs/2130998
[Impact]
Encounter the following kernel warning while hotplugging dock with a monitor is connected to it.
[ 2173.051689] i915 0000:00:02.0: [drm] drm_WARN_ON(psr->paused)
[ 2173.051769] WARNING: CPU: 1 PID: 2769 at drivers/gpu/drm/i915/display/intel_psr.c:2211 intel_psr_pause+0x16c/0x180 [i915]
[ 2173.052052] Modules linked in: cdc_mbim cdc_wdm cdc_ncm cdc_ether usbnet r8152 mii igc typec_thunderbolt usbhid rfcomm snd_seq_dummy snd_hrtimer qrtr cmac algif_hash algif_skcipher af_alg bnep snd_soc_cs42l43 spi_cs42l43 pinctrl_cs42l43 snd_soc_cs42l43_sdw snd_soc_sof_sdw snd_soc_intel_hda_dsp_common snd_soc_sdw_utils snd_sof_probes xe gpu_sched drm_gpuvm drm_ttm_helper drm_exec drm_suballoc_helper snd_soc_cs35l56_sdw snd_soc_cs35l56 snd_soc_wm_adsp snd_soc_cs35l56_shared cs42l43_sdw snd_soc_cs_amp_lib regmap_sdw cs_dsp cs42l43 snd_soc_dmic snd_sof_pci_intel_mtl snd_sof_intel_hda_generic soundwire_intel soundwire_cadence snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda intel_uncore_frequency intel_uncore_frequency_common snd_sof_pci snd_sof_xtensa_dsp x86_pkg_temp_thermal snd_sof intel_powerclamp snd_sof_utils snd_hda_ext_core snd_soc_acpi_intel_match snd_soc_acpi_intel_sdca_quirks coretemp soundwire_generic_allocation snd_soc_acpi soundwire_bus dell_pc platform_profile snd_ctl_led
[ 2173.052112] binfmt_misc kvm_intel snd_soc_sdca i915 kvm snd_soc_core snd_hda_codec_hdmi snd_compress ac97_bus snd_pcm_dmaengine snd_hda_intel irqbypass snd_intel_dspcfg dell_laptop polyval_clmulni snd_intel_sdw_acpi intel_ipu6_isys snd_seq_midi polyval_generic snd_seq_midi_event snd_hda_codec btusb ghash_clmulni_intel videobuf2_dma_sg iwlmvm sha256_ssse3 snd_rawmidi videobuf2_memops btrtl sha1_ssse3 hid_sensor_prox snd_hda_core videobuf2_v4l2 hid_sensor_als dell_wmi processor_thermal_device_pci aesni_intel btintel drm_buddy hid_sensor_custom_intel_hinge nls_iso8859_1 mei_gsc_proxy intel_rapl_msr videobuf2_common mac80211 ttm snd_hwdep processor_thermal_device dell_wmi_sysman hid_sensor_trigger btbcm snd_seq processor_thermal_wt_hint drm_display_helper i2c_i801 crypto_simd industrialio_triggered_buffer processor_thermal_rfim snd_pcm btmtk snd_seq_device cryptd processor_thermal_rapl kfifo_buf dell_smbios libarc4 rapl intel_cstate snd_timer iwlwifi cec mei_me intel_rapl_common dcdbas hid_sensor_iio_common i2c_smbus
[ 2173.052181] dell_wmi_ddv dell_smm_hwmon firmware_attributes_class dell_wmi_descriptor bluetooth wmi_bmof nvidia_wmi_ec_backlight industrialio snd i2c_mux mei soundcore processor_thermal_wt_req cfg80211 rc_core processor_thermal_power_floor intel_ipu6 intel_skl_int3472_tps68470 intel_vpu processor_thermal_mbox ov08x40 i2c_algo_bit tps68470_regulator ipu_bridge igen6_edac clk_tps68470 int3403_thermal v4l2_fwnode int340x_thermal_zone intel_pmc_core v4l2_async intel_skl_int3472_discrete intel_skl_int3472_common acpi_tad pmt_telemetry int3400_thermal pmt_class intel_hid acpi_thermal_rel intel_vsec sparse_keymap acpi_pad input_leds joydev mac_hid serio_raw sch_fq_codel v4l2loopback(O) videodev mc msr parport_pc ppdev lp parport efi_pstore nfnetlink dmi_sysfs ip_tables x_tables autofs4 hid_sensor_custom hid_sensor_hub intel_ishtp_hid nvme nvme_core hid_multitouch nvme_auth ahci hid_generic 8250_dw libahci uas usb_storage rtsx_pci_sdmmc psmouse rtsx_pci intel_lpss_pci thunderbolt intel_ish_ipc intel_lpss video idma64
[ 2173.052257] intel_ishtp vmd ucsi_acpi typec_ucsi typec i2c_hid_acpi i2c_hid hid wmi pinctrl_meteorlake
[ 2173.052268] CPU: 1 UID: 1000 PID: 2769 Comm: KMS thread Tainted: G W O 6.14.0-2016-oem #16
[ 2173.052274] Tainted: [W]=WARN, [O]=OOT_MODULE
[ 2173.052275] Hardware name: Dell Inc. Dell, BIOS 1.4.2 10/08/2025
[ 2173.052278] RIP: 0010:intel_psr_pause+0x16c/0x180 [i915]
[ 2173.052482] Code: 4c 8b 67 50 4d 85 e4 75 03 4c 8b 27 e8 7d b8 10 e7 48 c7 c1 aa c6 c5 c1 4c 89 e2 48 c7 c7 c4 c3 c5 c1 48 89 c6 e8 c4 73 61 e6 <0f> 0b e9 5a ff ff ff e9 0c 6d 0e 00 e9 31 6d 0e 00 0f 1f 00 90 90
[ 2173.052484] RSP: 0018:ffffd53fcfc77898 EFLAGS: 00010246
[ 2173.052487] RAX: 0000000000000000 RBX: ffff8f065f4781e0 RCX: 0000000000000000
[ 2173.052489] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[ 2173.052491] RBP: ffffd53fcfc778b8 R08: 0000000000000000 R09: 0000000000000000
[ 2173.052492] R10: 0000000000000000 R11: 0000000000000000 R12: ffff8f06430f2f80
[ 2173.052493] R13: 0000000000000001 R14: ffff8f065f478f08 R15: 00000000ffffffff
[ 2173.052495] FS: 00007899457ff6c0(0000) GS:ffff8f158fc80000(0000) knlGS:0000000000000000
[ 2173.052497] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2173.052499] CR2: 00007863c1526018 CR3: 0000000151db8003 CR4: 0000000000f72ef0
[ 2173.052500] PKRU: 55555554
[ 2173.052502] Call Trace:
[ 2173.052505] <TASK>
[ 2173.052511] intel_set_cdclk+0xc9/0x450 [i915]
[ 2173.052744] ? intel_pmdemand_program_params+0x233/0x310 [i915]
[ 2173.052957] intel_set_cdclk_pre_plane_update+0x12d/0x250 [i915]
[ 2173.053156] intel_atomic_commit_tail+0xa1e/0xb80 [i915]
[ 2173.053359] intel_atomic_commit+0x2a8/0x2f0 [i915]
[ 2173.053558] drm_atomic_commit+0xad/0xf0
[ 2173.053568] ? __pfx___drm_printfn_info+0x10/0x10
[ 2173.053573] drm_mode_atomic_ioctl+0x560/0x850
[ 2173.053576] ? __pfx_drm_mode_atomic_ioctl+0x10/0x10
[ 2173.053578] drm_ioctl_kernel+0xb6/0x120
[ 2173.053583] drm_ioctl+0x2f3/0x5b0
[ 2173.053586] ? __pfx_drm_mode_atomic_ioctl+0x10/0x10
[ 2173.053589] __x64_sys_ioctl+0xa4/0xe0
[ 2173.053597] x64_sys_call+0x131e/0x2650
[ 2173.053603] do_syscall_64+0x7e/0x170
[ 2173.053610] ? arch_exit_to_user_mode_prepare.isra.0+0x22/0x120
[ 2173.053616] ? syscall_exit_to_user_mode+0x38/0x1d0
[ 2173.053620] ? do_syscall_64+0x8a/0x170
[ 2173.053622] ? arch_exit_to_user_mode_prepare.isra.0+0x22/0x120
[ 2173.053625] ? syscall_exit_to_user_mode+0x38/0x1d0
[ 2173.053627] ? do_syscall_64+0x8a/0x170
[ 2173.053629] ? syscall_exit_to_user_mode+0x38/0x1d0
[ 2173.053632] ? do_syscall_64+0x8a/0x170
[ 2173.053634] ? sysvec_apic_timer_interrupt+0x57/0xc0
[ 2173.053636] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 2173.053643] RIP: 0033:0x789968b24ded
[ 2173.053646] Code: 04 25 28 00 00 00 48 89 45 c8 31 c0 48 8d 45 10 c7 45 b0 10 00 00 00 48 89 45 b8 48 8d 45 d0 48 89 45 c0 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1a 48 8b 45 c8 64 48 2b 04 25 28 00 00 00
[ 2173.053648] RSP: 002b:00007899457fd9a0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[ 2173.053651] RAX: ffffffffffffffda RBX: 000078993004f6e0 RCX: 0000789968b24ded
[ 2173.053652] RDX: 00007899457fda40 RSI: 00000000c03864bc RDI: 000000000000000c
[ 2173.053654] RBP: 00007899457fd9f0 R08: 0000789930000090 R09: 0000000000000300
[ 2173.053655] R10: 0000000000000025 R11: 0000000000000246 R12: 00007899457fda40
[ 2173.053656] R13: 00000000c03864bc R14: 000000000000000c R15: 0000789930040bb0
[ 2173.053661] </TASK>
[Fix]
This commit included in v6.16 fixes the issue
9900e35a3ab1 drm/i915/psr: Add PSR pause/resume reference count
Cherry picked another 2 commits from 6.18 for PSR function completeness
61a0ef5921d6 drm/i915/psr: Check PSR pause counter in __psr_wait_for_idle_locked
7c8c76272e17 drm/i915/psr: Check pause counter before continuing to PSR activation
[Test]
Hotplug the dock with a monitor connected to the device multiple times, there should be no kernel warning appears in dmesg.
[Where problems could occur]
This patch is implementing PSR pause/resume refcount. We may see "Unbalanced PSR pause/resume!" if the refcount is not correct. No other side effect.
Jouni Högander (2):
drm/i915/psr: Check pause counter before continuing to PSR activation
drm/i915/psr: Check PSR pause counter in __psr_wait_for_idle_locked
drivers/gpu/drm/i915/display/intel_psr.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--
2.43.0
More information about the kernel-team
mailing list