On (23/11/22 16:47), Sergey Senozhatsky wrote: > Can the following happen? Consider the following case (when CPU1 experienced a delay, a preemption or anything): > CPU0 CPU1 > uvc_disconnect() > uvc_video_stop_streaming() > usb_set_intfdata() > uvc_unregister_video() > > if (!smp_load(&dev->disconnected)) > > smp_store_release(&dev->disconnected, true); > > kref_put(&dev->ref, uvc_delete); > uvc_video_halt() That uvc_video_halt() cannot be legal, right?