diff options
author | Andrew de Quincy <devnull@localhost> | 2004-08-16 18:16:06 +0000 |
---|---|---|
committer | Andrew de Quincy <devnull@localhost> | 2004-08-16 18:16:06 +0000 |
commit | dfa6a03851de3405c27adf15f2560d949798e885 (patch) | |
tree | 215d86071a4778f5cbff21ab14e4eec3e64249d8 | |
parent | 5efa2f21e0d59fa9bfd0dfbec238d4be5c971945 (diff) | |
download | mediapointer-dvb-s2-dfa6a03851de3405c27adf15f2560d949798e885.tar.gz mediapointer-dvb-s2-dfa6a03851de3405c27adf15f2560d949798e885.tar.bz2 |
Fix for matrix CAMs from Sjoerd Simons
-rw-r--r-- | linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c b/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c index 68e6e0b09..e38e87c17 100644 --- a/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c +++ b/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c @@ -982,6 +982,12 @@ static int dvb_ca_en50221_thread(void* data) break; case DVB_CA_SLOTSTATE_VALIDATE: + if (ca->pub->write_cam_control(ca->pub, slot, CTRLIF_COMMAND, CMDREG_RS) != 0) { + printk("dvb_ca: Unable to reset CAM IF\n"); + ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_INVALID; + dvb_ca_en50221_thread_update_delay(ca); + break; + } if (dvb_ca_en50221_parse_attributes(ca, slot) != 0) { printk("dvb_ca: Invalid PC card inserted :(\n"); ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_INVALID; @@ -994,7 +1000,6 @@ static int dvb_ca_en50221_thread(void* data) dvb_ca_en50221_thread_update_delay(ca); break; } - dprintk("DVB CAM validated successfully\n"); ca->slot_info[slot].timeout = jiffies + (INIT_TIMEOUT_SECS * HZ); |