DisplayLink/evdi

drm_open_helper crash on linux kernel 6.12-rc4

KarthikJay opened this issue · 2 comments

  • Are you using the latest driver?
    Yes
  • Are you using the latest EVDI version?
    Yes, 1.14.7
  • If you are using a DisplayLink device, have you checked 'troubleshooting'
    on DisplayLink's website?
    Yes
  • Is this issue related to evdi/kernel?
    Yes

Crash when attaching to displaylink device in linux kernel 6.12-rc4:

evdi: [I] (card0) Opened by Task 3190 (DesktopManagerE) of process 3178 (DisplayLinkMana)
evdi evdi.0: [drm] Cannot find any crtc or sizes
[drm] Initialized evdi 1.14.7 for evdi.0 on minor 0
evdi: [I] Evdi platform_device create
evdi: [I] Attaching to usb:6-1.2
------------[ cut here ]------------
WARNING: CPU: 21 PID: 697 at drivers/gpu/drm/drm_file.c:312 drm_open_helper+0x134/0x150
Modules linked in: r8153_ecm cdc_ether usbnet uas usb_storage r8152 mii libphy cdc_acm snd_usb_audio snd_usbmidi_lib snd_ump snd_rawmidi apple_mfi_fastcharge evdi(OE) ccm snd_seq_dummy snd_hrtimer rfcomm snd_seq snd_seq_device xt_conntrack xt_MASQUERADE nf_conntrack_netlink xfrm_user xfrm_algo ip6table_nat ip6table_filter ip6_tables iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c xt_addrtype iptable_filter br_netfilter bridge stp llc hid_sensor_als cmac algif_hash algif_skcipher af_alg qrtr overlay bnep vfat fat mousedev joydev intel_rapl_msr amd_atl intel_rapl_common snd_acp_legacy_mach snd_acp_mach snd_soc_nau8821 snd_acp3x_rn snd_acp70 snd_acp_i2s snd_acp_pdm snd_acp_pcm snd_soc_dmic snd_sof_amd_acp63 snd_soc_acpi_amd_match snd_sof_amd_vangogh snd_sof_amd_rembrandt snd_sof_amd_renoir snd_sof_amd_acp snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_pci_ps mt7925e snd_amd_sdw_acpi mt7925_common soundwire_amd kvm_amd mt792x_lib soundwire_generic_allocation soundwire_bus
 snd_hda_scodec_cs35l56_spi mt76_connac_lib kvm snd_hda_codec_realtek snd_soc_core mt76 snd_hda_codec_generic snd_hda_scodec_component snd_hda_codec_hdmi snd_compress crct10dif_pclmul ac97_bus crc32_pclmul mac80211 uvcvideo snd_hda_intel snd_pcm_dmaengine polyval_clmulni snd_intel_dspcfg polyval_generic videobuf2_vmalloc snd_rpl_pci_acp6x snd_intel_sdw_acpi ghash_clmulni_intel uvc sha512_ssse3 snd_hda_codec videobuf2_memops snd_acp_pci libarc4 sha256_ssse3 snd_ctl_led snd_acp_legacy_common snd_hda_scodec_cs35l56_i2c btusb sha1_ssse3 videobuf2_v4l2 snd_pci_acp6x snd_hda_core hid_sensor_prox snd_hda_scodec_cs35l56 btrtl snd_pci_acp5xvideobuf2_common snd_hda_cirrus_scodec snd_hwdep hid_sensor_trigger aesni_intel cfg80211 btintel snd_soc_cs35l56_shared industrialio_triggered_buffer sp5100_tco gf128mul snd_pcm snd_rn_pci_acp3x ucsi_acpi asus_nb_wmi amd_pmf snd_soc_cs_amp_lib kfifo_buf btbcm crypto_simd videodev snd_acp_config cs_dsp asus_wmi i2c_piix4 amdtee typec_ucsi hid_sensor_iio_common btmtk snd_timer
 cryptd snd_soc_acpi hid_multitouch bluetooth industrialio mc wmi_bmof sparse_keymap rapl typec pcspkr snd thunderbolt k10temp ccp rfkill snd_pci_acp3x amd_sfh soundcore i2c_smbus rolesi2c_hid_acpi platform_profile i2c_hid tee amd_pmc serial_multi_instantiate mac_hid i2c_dev crypto_user loop dm_mod nfnetlink ip_tables x_tables amdgpu ext4 amdxcp i2c_algo_bit drm_ttm_helper hid_sensor_hub ttm crc32c_generic hid_generic serio_raw mbcache drm_exec usbhid jbd2 atkbd gpu_sched sdhci_pci libps2 drm_suballoc_helper drm_buddy vivaldi_fmap cqhci nvme drm_display_helper sdhci nvme_core cec crc32c_intel mmc_core video i8042 crc16 nvme_auth wmi serio
CPU: 21 UID: 0 PID: 697 Comm: systemd-logind Tainted: G           OE      6.12.0-rc4-1-mainline-um5606-dirty #1 fb7e697823d162f91cc9829c569167c85be5ce51
Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
Hardware name: ASUSTeK COMPUTER INC. ASUS Zenbook S 16 UM5606WA_UM5606WA/UM5606WA, BIOS UM5606WA.308 07/17/2024
RIP: 0010:drm_open_helper+0x134/0x150
Code: 5d 41 5c c3 cc cc cc cc 48 89 df e8 96 92 fe ff 85 c0 0f 84 7a ff ff ff 48 89 df 89 44 24 04 e8 22 fa ff ff 8b 44 24 04 eb d1 <0f> 0b b8 ea ff ff ff eb c8 b8 ea ff ff ff eb c1 b8 f0 ff ff ff eb
RSP: 0018:ffffbf5103d5fb80 EFLAGS: 00010246
RAX: ffffffffc27e0420 RBX: ffff9a114b87b3e8 RCX: 0000000000000001
RDX: 00000000000339c0 RSI: ffff9a114b87b3e8 RDI: ffff9a1250235140
RBP: ffff9a1250235140 R08: 0000000000000800 R09: ffff9a114027ecd0
R10: 00000000000000e2 R11: 0000000000000002 R12: ffff9a11e9e3f800
R13: ffffffffc27e0420 R14: 00000000ffffffed R15: ffffbf5103d5fe6c
FS:  00007f04e2af08c0(0000) GS:ffff9a187e880000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005585bc9368c8 CR3: 000000010f168000 CR4: 0000000000f50ef0
PKRU: 55555554
Call Trace:
 <TASK>
 ? drm_open_helper+0x134/0x150
 ? __warn.cold+0x93/0xf6
 ? drm_open_helper+0x134/0x150
 ? report_bug+0xff/0x140
 ? handle_bug+0x58/0x90
 ? exc_invalid_op+0x17/0x70
 ? asm_exc_invalid_op+0x1a/0x20
 ? drm_open_helper+0x134/0x150
 drm_open+0x73/0x110
 drm_stub_open+0x9b/0xd0
 chrdev_open+0xb0/0x230
 ? __pfx_chrdev_open+0x10/0x10
 do_dentry_open+0x14c/0x4a0
 vfs_open+0x2e/0xe0
 path_openat+0x82e/0x12e0
 ? mntput_no_expire+0x4a/0x260
 do_filp_open+0xc4/0x170
 do_sys_openat2+0xae/0xe0
 __x64_sys_openat+0x55/0xa0
 do_syscall_64+0x82/0x190
 ? do_syscall_64+0x8e/0x190
 ? do_syscall_64+0x8e/0x190
 ? do_syscall_64+0x8e/0x190
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7f04e2d1a2e3
Code: 83 e2 40 75 52 89 f0 f7 d0 a9 00 00 41 00 74 47 80 3d 90 3d 0e 00 00 74 62 89 da 4c 89 e6 bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 81 00 00 00 48 8b 55 b8 64 48 2b 14 25 28
RSP: 002b:00007ffdec204f70 EFLAGS: 00000202 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 0000000000080902 RCX: 00007f04e2d1a2e3
RDX: 0000000000080902 RSI: 00005644cae6de10 RDI: 00000000ffffff9c
RBP: 00007ffdec204fe0 R08: 0000000000000005 R09: 00000000000000f0
R10: 0000000000000000 R11: 0000000000000202 R12: 00005644cae6de10
R13: 0000000000000001 R14: 0000000000000008 R15: 0000000000000001
 </TASK>
---[ end trace 0000000000000000 ]---

This is on a Manjaro device using linux kernel 6-12-rc4 with some patchsets added on top for the Asus um5606 laptop.
There was 1 error during dkms compile that I got around via commenting out the line:

/var/lib/dkms/evdi/1.14.7/build/evdi_modeset.c:507:10: error: ‘const struct drm_mode_config_funcs’ has no member named ‘output_poll_changed’
  507 |         .output_poll_changed = NULL,

Please let me know if there are any patches/extra debug steps that you would like me to try!