linux/drivers/media/dvb-core
Daniel Scheller 62229de19f media: dvb-core: always call invoke_release() in fe_free()
Follow-up to: ead666000a ("media: dvb_frontend: only use kref after initialized")

The aforementioned commit fixed refcount OOPSes when demod driver attaching
succeeded but tuner driver didn't. However, the use count of the attached
demod drivers don't go back to zero and thus couldn't be cleanly unloaded.
Improve on this by calling dvb_frontend_invoke_release() in
__dvb_frontend_free() regardless of fepriv being NULL, instead of returning
when fepriv is NULL. This is safe to do since _invoke_release() will check
for passed pointers being valid before calling the .release() function.

[mchehab@s-opensource.com: changed the logic a little bit to reduce
 conflicts with another bug fix patch under review]
Fixes: ead666000a ("media: dvb_frontend: only use kref after initialized")
Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-11-07 05:39:41 -05:00
..
demux.h media: dvb-core/demux.h: fix kernel-doc warning 2017-07-21 08:01:08 -04:00
dmxdev.c media: dvb-core: Convert timers to use timer_setup() 2017-10-31 06:40:30 -04:00
dmxdev.h media: dmxdev.h: add kernel-doc markups for data types and functions 2017-10-11 13:21:22 -04:00
dvb_ca_en50221.c media: dvb_ca_en50221: Fixed multiple blank lines 2017-07-20 15:40:50 -04:00
dvb_ca_en50221.h media: dvb_ca_en50221.h: fix checkpatch strict warnings 2017-07-20 15:47:07 -04:00
dvb_demux.c media: dvb_demux.h: document structs defined on it 2017-10-11 13:18:33 -04:00
dvb_demux.h media: dvb: do some coding style cleanup 2017-10-11 13:51:41 -04:00
dvb_frontend.c media: dvb-core: always call invoke_release() in fe_free() 2017-11-07 05:39:41 -05:00
dvb_frontend.h media: dvb_frontend.h: improve kernel-doc markups 2017-10-11 13:01:35 -04:00
dvb_math.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
dvb_math.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
dvb_net.c networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
dvb_net.h media: dvb-net.rst: document DVB network kAPI interface 2017-10-11 13:22:09 -04:00
dvb_ringbuffer.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
dvb_ringbuffer.h scripts/spelling.txt: add "an user" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
dvb-usb-ids.h media: Added support for the TerraTec T1 DVB-T USB tuner [IT9135 chipset] 2017-07-20 16:46:49 -04:00
dvbdev.c Simplify major/minor non-dynamic logic 2017-10-11 15:32:11 -04:00
dvbdev.h media: dvbdev: fully document its functions 2017-10-11 13:01:13 -04:00
Kconfig [media] Raise adapter number limit 2016-11-23 13:28:43 -02:00
Makefile [media] dvb-core: move dvb_filter out of the DVB core 2016-10-21 08:44:08 -02:00