linux/drivers/media/platform
Javier Martinez Canillas 7333c519ad media: omap3isp: zero-initialize the isp cam_xclk{a,b} initial data
[ Upstream commit 2ec7debd44 ]

The struct clk_init_data init variable is declared in the isp_xclk_init()
function so is an automatic variable allocated in the stack. But it's not
explicitly zero-initialized, so some init fields are left uninitialized.

This causes the data structure to have undefined values that may confuse
the common clock framework when the clock is registered.

For example, the uninitialized .flags field could have the CLK_IS_CRITICAL
bit set, causing the framework to wrongly prepare the clk on registration.
This leads to the isp_xclk_prepare() callback being called, which in turn
calls to the omap3isp_get() function that increments the isp dev refcount.

Since this omap3isp_get() call is unexpected, this leads to an unbalanced
omap3isp_get() call that prevents the requested IRQ to be later enabled,
due the refcount not being 0 when the correct omap3isp_get() call happens.

Fixes: 9b28ee3c91 ("[media] omap3isp: Use the common clock framework")

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-10-10 08:52:06 +02:00
..
am437x am437x-vpfe: always assign bpp variable 2017-03-12 06:37:24 +01:00
blackfin blackfin: check devm_pinctrl_get() for errors 2017-01-26 08:23:49 +01:00
coda coda: fix error path in case of missing pdata on non-DT platform 2016-04-20 15:42:09 +09:00
davinci media: platform: davinci: return -EINVAL for VPFE_CMD_S_CCDC_RAW_PARAMS ioctl 2017-08-11 09:08:48 -07:00
exynos-gsc exynos-gsc: Do not swap cb/cr for semi planar formats 2017-10-08 10:14:19 +02:00
exynos4-is media: exynos4-is: Prevent NULL pointer dereference in __isp_video_try_fmt() 2018-10-10 08:52:04 +02:00
marvell-ccic [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
omap media updates for v4.3-rc1 2015-09-11 16:42:39 -07:00
omap3isp media: omap3isp: zero-initialize the isp cam_xclk{a,b} initial data 2018-10-10 08:52:06 +02:00
s3c-camif media: s3c-camif: ignore -ENOIOCTLCMD from v4l2_subdev_call for s_power 2018-10-10 08:52:05 +02:00
s5p-g2d [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
s5p-jpeg s5p-jpeg: don't return a random width/height 2017-07-27 15:06:02 -07:00
s5p-mfc s5p-mfc: Fix unbalanced call to clock management 2017-05-25 14:30:14 +02:00
s5p-tv [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
soc_camera media: soc_camera: soc_scale_crop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2018-02-16 20:09:38 +01:00
sti media: c8sectpfe: fix potential NULL pointer dereference in c8sectpfe_timer_interrupt 2018-03-24 10:58:46 +01:00
ti-vpe [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
vivid [media] media/vivid-osd: fix info leak in ioctl 2015-10-20 15:34:29 -02:00
vsp1 v4l: vsp1: Set the SRU CTRL0 register when starting the stream 2016-04-20 15:42:09 +09:00
xilinx [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
arv.c [media] media: remove the setting of the flag V4L2_FL_USE_FH_PRIO 2014-07-04 16:14:59 -03:00
fsl-viu.c media: fsl-viu: fix error handling in viu_of_probe() 2018-10-10 08:52:04 +02:00
Kconfig [media] VIDEO_RENESAS_JPU should depend on HAS_DMA 2015-10-03 10:01:48 -03:00
m2m-deinterlace.c [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
Makefile [media] c8sectpfe: Add Kconfig and Makefile for the driver 2015-08-11 16:08:29 -03:00
mx2_emmaprp.c [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
rcar_jpu.c media: rcar_jpu: Add missing clk_disable_unprepare() on error in jpu_open() 2018-08-06 16:24:36 +02:00
sh_veu.c [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
sh_vou.c [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
timblogiw.c media: platform: drop owner assignment from platform_drivers 2014-10-20 16:20:44 +02:00
via-camera.c [media] v4l2: replace s_mbus_fmt by set_fmt in bridge drivers 2015-05-01 09:01:16 -03:00
via-camera.h
vim2m.c [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00