linux/drivers/media
Brad Love 5b3a8e9069 media: lgdt3306a: Set fe ops.release to NULL if probed
If release is part of frontend ops then it is called in the
course of dvb_frontend_detach. The process also decrements
the module usage count. The problem is if the lgdt3306a
driver is reached via i2c_new_device, then when it is
eventually destroyed remove is called, which further
decrements the module usage count to negative. After this
occurs the driver is in a bad state and no longer works.
Also fixed by NULLing out the release callback is a double
kfree of state, which introduces arbitrary oopses/GPF.
This problem is only currently reachable via the em28xx driver.

On disconnect of Hauppauge SoloHD before:

lsmod | grep lgdt3306a
lgdt3306a              28672  -1
i2c_mux                16384  1 lgdt3306a

On disconnect of Hauppauge SoloHD after:

lsmod | grep lgdt3306a
lgdt3306a              28672  0
i2c_mux                16384  1 lgdt3306a

Signed-off-by: Brad Love <brad@nextdimension.cc>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2018-03-06 04:35:28 -05:00
..
cec media: cec: improve debugging 2018-02-26 08:12:49 -05:00
common Merge commit 'v4.16-rc4~0' into patchwork 2018-03-05 07:39:06 -05:00
dvb-core media: dvb: update buffer mmaped flags and frame counter 2018-02-23 11:44:08 -05:00
dvb-frontends media: lgdt3306a: Set fe ops.release to NULL if probed 2018-03-06 04:35:28 -05:00
firewire vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
i2c Merge commit 'v4.16-rc4~0' into patchwork 2018-03-05 07:39:06 -05:00
mmc media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
pci Merge commit 'v4.16-rc4~0' into patchwork 2018-03-05 07:39:06 -05:00
platform media: stm32-dcmi: add g/s_parm framerate support 2018-02-26 10:30:44 -05:00
radio media: add SPDX license info 2018-02-14 13:17:03 -05:00
rc media: rc: fix race condition in ir_raw_event_store_edge() handling 2018-02-27 08:16:09 -05:00
spi
tuners media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
usb media: em28xx: Enable Hauppauge SoloHD rebranded 292e SE 2018-03-06 04:35:02 -05:00
v4l2-core Merge commit 'v4.16-rc4~0' into patchwork 2018-03-05 07:39:06 -05:00
Kconfig media: dvb: fix DVB_MMAP dependency 2018-02-23 05:21:41 -05:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
media-device.c media: zero reservedX fields in media_v2_topology 2018-02-26 09:47:53 -05:00
media-devnode.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
media-entity.c media: media.h: reorganize header to make it easier to understand 2018-02-26 10:14:46 -05:00