linux/drivers/media/platform
Yuan Can 48ecee6159 media: platform: exynos4-is: Fix error handling in fimc_md_init()
A problem about modprobe s5p_fimc failed is triggered with the
following log given:

 [  272.075275] Error: Driver 'exynos4-fimc' is already registered, aborting...
 modprobe: ERROR: could not insert 's5p_fimc': Device or resource busy

The reason is that fimc_md_init() returns platform_driver_register()
directly without checking its return value, if platform_driver_register()
failed, it returns without unregister fimc_driver, resulting the
s5p_fimc can never be installed later.
A simple call graph is shown as below:

 fimc_md_init()
   fimc_register_driver() # register fimc_driver
   platform_driver_register()
     platform_driver_register()
       driver_register()
         bus_add_driver()
           dev = kzalloc(...) # OOM happened
   # return without unregister fimc_driver

Fix by unregister fimc_driver when platform_driver_register() returns
error.

Fixes: d3953223b0 ("[media] s5p-fimc: Add the media device driver")
Signed-off-by: Yuan Can <yuancan@huawei.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-11-25 07:37:53 +00:00
..
allegro-dvt
amlogic
amphion media: amphion: apply vb2_queue_error instead of setting manually 2022-11-25 07:27:47 +00:00
aspeed media: aspeed: Use v4l2_dbg to replace v4l2_warn to avoid log spam 2022-11-25 07:36:55 +00:00
atmel
cadence
chips-media media: coda: jpeg: Add check for kmalloc 2022-10-24 19:03:53 +02:00
intel
marvell
mediatek media: mtk-jpegdec: add missing destroy_workqueue() 2022-11-25 07:37:18 +00:00
nvidia
nxp Tag branch 2022-11-15 12:11:46 +00:00
qcom Venus updates for v6.2 2022-11-15 11:53:57 +00:00
renesas media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
rockchip media: rkisp1: make const arrays ae_wnd_num and hist_wnd_num static 2022-11-04 16:56:43 +01:00
samsung media: platform: exynos4-is: Fix error handling in fimc_md_init() 2022-11-25 07:37:53 +00:00
st media: c8sectpfe: Add missed header(s) 2022-10-24 19:03:53 +02:00
sunxi media: sun6i-csi: Add support for hooking to the isp devices 2022-11-25 07:25:05 +00:00
ti media: drivers: use video_device_pipeline_alloc_start() 2022-09-24 09:16:36 +02:00
verisilicon media: hantro: Allows luma and chroma depth to be different 2022-09-24 09:01:15 +02:00
via
xilinx media: drivers: use video_device_pipeline() 2022-09-24 09:14:59 +02:00
Kconfig
m2m-deinterlace.c
Makefile
video-mux.c