|
@@ -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;
|
|
|
}
|