summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/ngene/ngene-dvb.c
diff options
context:
space:
mode:
authorOliver Endriss <o.endriss@gmx.de>2010-05-16 06:07:07 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-06-01 01:20:14 -0300
commit5a2a1848a7d744a437f96b79a655c13b8090e74d (patch)
treefd29215d133ba34a32e8c111a2e6fdeb35f36d4c /drivers/media/dvb/ngene/ngene-dvb.c
parent4387418129895fd9aa2e2f6368ea69e9c4ddd0f2 (diff)
downloadop-kernel-dev-5a2a1848a7d744a437f96b79a655c13b8090e74d.zip
op-kernel-dev-5a2a1848a7d744a437f96b79a655c13b8090e74d.tar.gz
V4L/DVB: ngene: Make command timeout workaround configurable
Make command timeout workaround configurable, activate it for firmware version <= 17. Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/ngene/ngene-dvb.c')
-rw-r--r--drivers/media/dvb/ngene/ngene-dvb.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/media/dvb/ngene/ngene-dvb.c b/drivers/media/dvb/ngene/ngene-dvb.c
index 96013eb..61a932c 100644
--- a/drivers/media/dvb/ngene/ngene-dvb.c
+++ b/drivers/media/dvb/ngene/ngene-dvb.c
@@ -44,8 +44,6 @@
#include "ngene.h"
-#define COMMAND_TIMEOUT_WORKAROUND
-
/****************************************************************************/
/* COMMAND API interface ****************************************************/
@@ -69,9 +67,7 @@ void *tsin_exchange(void *priv, void *buf, u32 len, u32 clock, u32 flags)
struct ngene_channel *chan = priv;
-#ifdef COMMAND_TIMEOUT_WORKAROUND
if (chan->users > 0)
-#endif
dvb_dmx_swfilter(&chan->demux, buf, len);
return NULL;
}
@@ -106,11 +102,8 @@ int ngene_start_feed(struct dvb_demux_feed *dvbdmxfeed)
struct ngene_channel *chan = dvbdmx->priv;
if (chan->users == 0) {
-#ifdef COMMAND_TIMEOUT_WORKAROUND
- if (!chan->running)
-#endif
+ if (!chan->dev->cmd_timeout_workaround || !chan->running)
set_transfer(chan, 1);
- /* msleep(10); */
}
return ++chan->users;
@@ -124,9 +117,8 @@ int ngene_stop_feed(struct dvb_demux_feed *dvbdmxfeed)
if (--chan->users)
return chan->users;
-#ifndef COMMAND_TIMEOUT_WORKAROUND
- set_transfer(chan, 0);
-#endif
+ if (!chan->dev->cmd_timeout_workaround)
+ set_transfer(chan, 0);
return 0;
}
OpenPOWER on IntegriCloud