diff options
| author | Andrew de Quincy <devnull@localhost> | 2004-11-12 17:45:18 +0000 |
|---|---|---|
| committer | Andrew de Quincy <devnull@localhost> | 2004-11-12 17:45:18 +0000 |
| commit | 8a6d0801b5705c568ce1a6e818f18c71f42ca4c9 (patch) | |
| tree | bab844715222801bafc19bb7a49c6d7305d9a4a6 /linux/drivers/media/dvb/ttpci | |
| parent | ad5a2bcbcdc9cd7736a0e646030864a1e742ab0f (diff) | |
| download | mediapointer-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.c | 5 |
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) |
