summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/ttpci
diff options
context:
space:
mode:
authorAndrew de Quincy <devnull@localhost>2004-11-12 17:45:18 +0000
committerAndrew de Quincy <devnull@localhost>2004-11-12 17:45:18 +0000
commit8a6d0801b5705c568ce1a6e818f18c71f42ca4c9 (patch)
treebab844715222801bafc19bb7a49c6d7305d9a4a6 /linux/drivers/media/dvb/ttpci
parentad5a2bcbcdc9cd7736a0e646030864a1e742ab0f (diff)
downloadmediapointer-dvb-s2-8a6d0801b5705c568ce1a6e818f18c71f42ca4c9.tar.gz
mediapointer-dvb-s2-8a6d0801b5705c568ce1a6e818f18c71f42ca4c9.tar.bz2
Enhanced poll_slot_status to support non-IRQ interfaces
Diffstat (limited to 'linux/drivers/media/dvb/ttpci')
-rw-r--r--linux/drivers/media/dvb/ttpci/budget-av.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/ttpci/budget-av.c b/linux/drivers/media/dvb/ttpci/budget-av.c
index b6babd21a..ee5f0bc53 100644
--- a/linux/drivers/media/dvb/ttpci/budget-av.c
+++ b/linux/drivers/media/dvb/ttpci/budget-av.c
@@ -230,7 +230,7 @@ static int ciintf_slot_ts_enable (struct dvb_ca_en50221 *ca, int slot)
return 0;
}
-static int ciintf_poll_slot_status (struct dvb_ca_en50221 *ca, int slot)
+static int ciintf_poll_slot_status (struct dvb_ca_en50221 *ca, int slot, int open)
{
struct budget_av *budget_av = (struct budget_av *) ca->data;
struct saa7146_dev *saa = budget_av->budget.dev;
@@ -247,6 +247,9 @@ static int ciintf_poll_slot_status (struct dvb_ca_en50221 *ca, int slot)
if (cam)
budget_av->slot_status = 1;
+ } else if (!open) {
+ if (ciintf_read_cam_control(ca, 0, 0) == -ETIMEDOUT)
+ budget_av->slot_status = 0;
}
if (budget_av->slot_status == 1)