linux/drivers/media/dvb/dvb-core
Mauro Carvalho Chehab 28100165c3 V4L/DVB (10572): Revert commit dda06a8e46
On Mon, 02 Feb 2009, Hartmut wrote:

This change set is wrong. The affected functions cannot be called from
an interrupt context, because they may process large buffers. In this
case, interrupts are disabled for a long time. Functions, like
dvb_dmx_swfilter_packets(), could be called only from a tasklet.

This change set does hide some strong design bugs in dm1105.c and
au0828-dvb.c.

Please revert this change set and do fix the bugs in dm1105.c and
au0828-dvb.c (and other files).

On Sun, 15 Feb 2009, Oliver Endriss wrote:

This changeset _must_ be reverted! It breaks all kernels since 2.6.27
for applications which use DVB and require a low interrupt latency.

It is a very bad idea to call the demuxer to process data buffers with
interrupts disabled!

On Mon, 16 Feb 2009, Trent Piepho wrote:

I agree, this is bad.  The demuxer is far too much work to be done with
IRQs off.  IMHO, even doing it under a spin-lock is excessive.  It should
be a mutex.  Drivers should use a work-queue to feed the demuxer.

Thank you for testing this changeset and discovering the issues on it.

Cc: Trent Piepho <xyzzy@speakeasy.org>
Cc: Hartmut <e9hack@googlemail.com>
Cc: Oliver Endriss <o.endriss@gmx.de>
Cc: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-02-17 09:43:09 -03:00
..
demux.h V4L/DVB (8131): dmx_write: memcpy from user-supplied pointer 2008-07-20 07:13:27 -03:00
dmxdev.c V4L/DVB (10572): Revert commit dda06a8e46 2009-02-17 09:43:09 -03:00
dmxdev.h V4L/DVB (5511): Fix 2/3 for bug 7819: demux and dvr 2007-04-27 15:45:31 -03:00
dvb_ca_en50221.c V4L/DVB (9054): implement proper locking in the dvb ca en50221 driver 2009-01-29 08:35:37 -02:00
dvb_ca_en50221.h V4L/DVB (9054): implement proper locking in the dvb ca en50221 driver 2009-01-29 08:35:37 -02:00
dvb_demux.c V4L/DVB (10572): Revert commit dda06a8e46 2009-02-17 09:43:09 -03:00
dvb_demux.h V4L/DVB (5512): Fix 3/3 for bug 7819: fixed hotplugging for dvbnet 2007-04-27 15:45:32 -03:00
dvb_filter.c
dvb_filter.h
dvb_frontend.c V4L/DVB (10178): dvb_frontend: Fix some sparse warnings due to static symbols 2009-01-07 22:18:55 -02:00
dvb_frontend.h V4L/DVB (9344): DVB-Core update 2008-12-29 17:53:12 -02:00
dvb_math.c
dvb_math.h
dvb_net.c dvb: update network device to current API 2009-01-07 18:02:53 -08:00
dvb_net.h V4L/DVB (5512): Fix 3/3 for bug 7819: fixed hotplugging for dvbnet 2007-04-27 15:45:32 -03:00
dvb_ringbuffer.c V4L/DVB (8130): split dvb_ringbuffer dual-use functions 2008-07-20 07:13:23 -03:00
dvb_ringbuffer.h V4L/DVB (8130): split dvb_ringbuffer dual-use functions 2008-07-20 07:13:23 -03:00
dvbdev.c Check fops_get() return value 2009-01-06 15:59:11 -08:00
dvbdev.h V4L/DVB (9361): Dynamic DVB minor allocation 2008-12-29 17:53:12 -02:00
Makefile