Skip to content

Hard kernel freeze triggered by "Double connect" warning on USB reconnect (Fedora 43, kernel 6.18.x) #557

@lleger1

Description

@lleger1

System Information

  • OS: Fedora 43
  • Kernel: 6.18.12-200.fc43.x86_64
  • DisplayLink package: displaylink-1.14.14-1.github_evdi.x86_64
  • EVDI module: loaded from displaylink package
  • GPU (primary): Intel Iris Plus Graphics G7 (i915 driver)
  • GPU (secondary): NVIDIA GeForce MX330 (nvidia-drm driver)
  • DisplayLink device: HP Z23n monitor via USB (1920x1080@60Hz)

Description

After a USB reconnect event (e.g. hub reconnect or system resume), the EVDI driver
logs a "Double connect" warning. Within 5–20 minutes of this event, the system
experiences a complete hard freeze requiring a forced power cycle.

The kernel journal is truncated at the point of freeze (no panic output), and
wtmp records the session as crash rather than clean shutdown.

Kernel log at time of event

evdi: [W] evdi_painter_connect:896 (card2) Double connect - replacing 0000000003e0ecdd with 0000000003e0ecdd

This warning appeared in every single crash observed (3 occurrences over 2 days),
always preceding the freeze by a few minutes.

Reproducing

  1. Connect a DisplayLink monitor via USB
  2. Disconnect and reconnect the USB (or trigger a suspend/resume)
  3. Observe Double connect warning in dmesg / journalctl
  4. System freezes completely within ~5–20 minutes, no recovery possible

Additional context

  • With initial_device_count=4 (default), the system had 4 EVDI virtual devices
    (card2card5) for a single physical DisplayLink monitor, which may increase
    the probability of triggering the race condition
  • Reducing to initial_device_count=1 via /etc/modprobe.d/evdi.conf appears to
    reduce frequency but does not eliminate the warning
  • No kernel panic dump is generated — the freeze is a hard lockup with no output
  • Prior sessions on kernel 6.18.9 showed identical behavior

Logs

Previous freeze (kernel 6.18.9, boot -1):
Feb 21 11:07:31 kernel: evdi: [W] evdi_painter_connect:896 (card3) Double connect - replacing ...
[system froze ~20 minutes later, journal truncated]

Current session (kernel 6.18.12):
Feb 21 21:59:58 kernel: evdi: [W] evdi_painter_connect:896 (card2) Double connect - replacing 0000000003e0ecdd with 0000000003e0ecdd
[system froze ~28 minutes later, journal truncated]

Also observed at boot:
gnome-shell: Failed to initialize accelerated iGPU/dGPU framebuffer sharing: Not hardware accelerated
gnome-shell: Failed to determine deadline: drmWaitVBlank failed: Unknown error -1

Workarounds attempted

  • Reduced initial_device_count from 4 to 1 — reduces device proliferation but
    does not fix the double connect race
  • Added kernel watchdog params (nmi_watchdog=1 softlockup_panic=1 hardlockup_panic=1)
    to force reboot on lockup instead of freezing indefinitely

Expected behavior

The evdi_painter_connect function should handle a double connect gracefully
without leaving the driver in a state that eventually deadlocks the kernel DRM
subsystem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions