decrement struct v4l2_device refcount on device unregister
commit bedf8bcf6b4f90a6e31add3721a2e71877289381 introduced reference counting for struct v4l2_device.
In v4l2_device_register() a call to kref_init() initializes reference count to 1, but in v4l2_device_unregister() there is no corresponding decrement.
End result is that reference count never reaches zero and v4l2_device_release() is never called, not even on videodev module unload.
Fix this by adding reference counter decrement to v4l2_device_unregister().
Resending due to spurious newlines around the patch in previous message.
Signed-off-by Maciej Szmigiero <[email protected]>
drivers/media/video/v4l2-device.c +2 -0
@@ -131,6 +131,8 @@ void v4l2_device_unregister(struct v4l2_device *v4l2_dev) }#endif } + +v4l2_device_put (v4l2_dev); }EXPORT_SYMBOL_GPL (v4l2_device_unregister);