linux/drivers/media/dvb/dvb-core
Mauro Carvalho Chehab 51dcb19aaf [media] dvb_frontend: Don't call get_frontend() if idle
If the frontend is in idle state, don't call get_frontend.

Calling get_frontend() when the device is not tuned may
result in wrong parameters to be returned to the
userspace.

I was tempted to not call get_frontend() at all, except
inside the dvb frontend thread, but this won't work for
all cases. The ISDB-T specs (ABNT NBR 15601 and ARIB
STD-B31) allow the broadcaster to dynamically change the
channel specs at runtime. That means that an ISDB-T optimized
application may want/need to monitor the TMCC tables, decoded
at the frontends via get_frontend call.

So, let's do the simpler change here.

Eventually, the logic could be changed to work only if
the device is tuned and has lock, but, even so, the
lock is also standard-dependent. For ISDB-T, the right
lock to wait is that the demod has TMCC lock. So, drivers
may need to implement some logic to detect if the get_frontend
info was retrieved or not.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-17 16:20:37 -02:00
..
demux.h
dmxdev.c [media] dmxdev: Fix a compilation warning due to a bad type 2010-12-29 08:17:13 -02:00
dmxdev.h
dvb_ca_en50221.c [media] dvb_ca_en50221: fix compilation breakage 2012-01-10 19:15:45 -02:00
dvb_ca_en50221.h
dvb_demux.c [media] Speed up DVB TS stream delivery from DMA buffer into dvb-core's buffer 2011-05-20 09:28:48 -03:00
dvb_demux.h
dvb_filter.c
dvb_filter.h
dvb_frontend.c [media] dvb_frontend: Don't call get_frontend() if idle 2012-01-17 16:20:37 -02:00
dvb_frontend.h [media] dvb-core: define general callback value for demodulator 2012-01-10 22:58:39 -02:00
dvb_math.c
dvb_math.h
dvb_net.c [media] DVB: dvb_net_init: return -errno on error 2012-01-06 12:40:46 -02:00
dvb_net.h dvb_net: Simplify the code if DVB NET is not defined 2011-07-27 17:52:20 -03:00
dvb_ringbuffer.c
dvb_ringbuffer.h
dvbdev.c
dvbdev.h
Makefile [media] Make DVB NET configurable in the kernel 2011-07-27 17:52:20 -03:00