kref_init initializes the reference count to 1, not 0. This additional
reference is never released since the conversion to reference counters.
As a result, uvc_delete is not called anymore when UVC cameras are
disconnected.
Fix this by adding an additional kref_put in uvc_disconnect and in the
probe error path. This also allows to remove the temporary additional
reference in uvc_unregister_video.
Fixes:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
uvc_ctrl.c | ||
uvc_debugfs.c | ||
uvc_driver.c | ||
uvc_entity.c | ||
uvc_isight.c | ||
uvc_metadata.c | ||
uvc_queue.c | ||
uvc_status.c | ||
uvc_v4l2.c | ||
uvc_video.c | ||
uvcvideo.h |