mirror of https://gitee.com/openkylin/linux.git
7a1d4e7c06
video_unregister_device() calls device_unregister(), which calls put_device(), which calls kobject_put(), and if this is the last reference then kobject_release() is called, which calls kobject_cleanup(), which calls ktype's release method which happens to be device_release() in this case, which calls dev->release(), which happens to be v4l2_device_release() in this case, which calls vdev->release(), which happens to be video_device_release(). But video_device_release() is called explicitly both in error recovery path of s5p_jpeg_probe() and in s5p_jpeg_remove(). The pointers in question are not nullified between the two calls, so this is harmful. This patch fixes the driver so that video_device_release() is not called twice for the same object. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
||
---|---|---|
.. | ||
am437x | ||
blackfin | ||
coda | ||
davinci | ||
exynos-gsc | ||
exynos4-is | ||
marvell-ccic | ||
omap | ||
omap3isp | ||
s3c-camif | ||
s5p-g2d | ||
s5p-jpeg | ||
s5p-mfc | ||
s5p-tv | ||
soc_camera | ||
sti/bdisp | ||
ti-vpe | ||
vivid | ||
vsp1 | ||
xilinx | ||
Kconfig | ||
Makefile | ||
arv.c | ||
fsl-viu.c | ||
m2m-deinterlace.c | ||
mx2_emmaprp.c | ||
sh_veu.c | ||
sh_vou.c | ||
timblogiw.c | ||
via-camera.c | ||
via-camera.h | ||
vim2m.c |