summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/ttpci
diff options
context:
space:
mode:
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)