[<prev] [next>] [day] [month] [year] [list]
Message-ID: <4E5BF3F7.9090101@o2.pl>
Date: Mon, 29 Aug 2011 22:17:59 +0200
From: Maciej Szmigiero <mhej@...pl>
To: Guennadi Liakhovetski <g.liakhovetski@....de>,
Mauro Carvalho Chehab <mchehab@...radead.org>,
linux-media@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [V4L2]decrement struct v4l2_device refcount on device urnegister
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().
Signed-off-by: Maciej Szmigiero <mhej@...pl>
diff --git a/drivers/media/video/v4l2-device.c b/drivers/media/video/v4l2-device.c
index c72856c..eb39af9 100644
--- a/drivers/media/video/v4l2-device.c
+++ b/drivers/media/video/v4l2-device.c
@@ -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);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists