linux/drivers/gpu/drm/udl
Thomas Zimmermann 4da83f06c3 drm/udl: Unregister device before cleaning up on disconnect
commit ff9cb6d203 upstream.

Disconnecting a DisplayLink device results in the following kernel
error messages

[   93.041748] [drm:udl_urb_completion [udl]] *ERROR* udl_urb_completion - nonzero write bulk status received: -115
[   93.055299] [drm:udl_submit_urb [udl]] *ERROR* usb_submit_urb error fffffffe
[   93.065363] [drm:udl_urb_completion [udl]] *ERROR* udl_urb_completion - nonzero write bulk status received: -115
[   93.078207] [drm:udl_submit_urb [udl]] *ERROR* usb_submit_urb error fffffffe

coming from KMS poll helpers. Shutting down poll helpers runs them
one final time when the USB device is already gone.

Run drm_dev_unplug() first in udl's USB disconnect handler. Udl's
polling code already handles disconnects gracefully if the device has
been marked as unplugged.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: b1a981bd55 ("drm/udl: drop drm_driver.release hook")
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v5.8+
Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250303145604.62962-2-tzimmermann@suse.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-07-06 11:01:45 +02:00
..
Kconfig drm/shmem-helper: Switch to vmf_insert_pfn 2021-08-12 21:41:10 +02:00
Makefile drm/udl: Untangle .get_modes() and .detect_ctx() 2024-05-13 13:35:52 +02:00
udl_drv.c drm/udl: Unregister device before cleaning up on disconnect 2025-07-06 11:01:45 +02:00
udl_drv.h drm/udl: Remove struct udl_connector 2024-05-13 13:35:53 +02:00
udl_edid.c drm: use mem_is_zero() instead of !memchr_inv(s, 0, n) 2024-08-16 12:07:46 +03:00
udl_edid.h drm/udl: Untangle .get_modes() and .detect_ctx() 2024-05-13 13:35:52 +02:00
udl_main.c drm/udl: delete dead code 2023-05-03 16:32:33 +02:00
udl_modeset.c drm/udl: Remove struct udl_connector 2024-05-13 13:35:53 +02:00
udl_proto.h drm/udl: Add constants for commands 2022-10-07 13:47:40 +02:00
udl_transfer.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00