From 467716c1cc19bc7172b7ac23a1d8bf791f5c0c6b Mon Sep 17 00:00:00 2001 From: Gabriel Rondon Date: Sun, 12 Apr 2026 23:23:18 +0100 Subject: [PATCH] staging: most: video: remove redundant cleanup in comp_exit() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit most_deregister_component() already calls disconnect_channel() for every linked channel via bus_for_each_dev() in core.c, which invokes comp_disconnect_channel() to remove each entry from the video_devices list and tear down the V4L2 device. The manual cleanup loop in comp_exit() duplicates this work and is guarded by a stale comment claiming that "mostcore currently doesn't call disconnect_channel() for linked channels" — but the core has since been fixed to do exactly that. Remove the redundant manual cleanup loop, the outdated comment, and the BUG_ON() assertion that checked for a condition that can no longer occur. Signed-off-by: Gabriel Rondon Link: https://patch.msgid.link/20260412222318.65045-1-grondon@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/most/video/video.c | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/drivers/staging/most/video/video.c b/drivers/staging/most/video/video.c index 04351f8ccccf..98988b0d9330 100644 --- a/drivers/staging/most/video/video.c +++ b/drivers/staging/most/video/video.c @@ -555,29 +555,8 @@ static int __init comp_init(void) static void __exit comp_exit(void) { - struct most_video_dev *mdev, *tmp; - LIST_HEAD(free_list); - - /* - * As the mostcore currently doesn't call disconnect_channel() - * for linked channels while we call most_deregister_component() - * we simulate this call here. - * This must be fixed in core. - */ - spin_lock_irq(&list_lock); - list_replace_init(&video_devices, &free_list); - spin_unlock_irq(&list_lock); - - list_for_each_entry_safe(mdev, tmp, &free_list, list) { - list_del_init(&mdev->list); - comp_unregister_videodev(mdev); - v4l2_device_disconnect(&mdev->v4l2_dev); - v4l2_device_put(&mdev->v4l2_dev); - } - most_deregister_configfs_subsys(&comp); most_deregister_component(&comp); - BUG_ON(!list_empty(&video_devices)); } module_init(comp_init);