aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/dvb/mantis
diff options
context:
space:
mode:
authorManu Abraham <abraham.manu@gmail.com>2009-12-04 05:08:25 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-01-17 11:55:34 -0200
commit3062b1571a1d3520c4d3160ebbfca8002b1d6963 (patch)
tree55a59532a64f235aea3265b87d68dcf7eaf58eee /drivers/media/dvb/mantis
parentd9dd5f7168d6a61491996fc02e4deb9d96308178 (diff)
V4L/DVB (13739): [Mantis] Event Manager: Handle Masked events only
Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/mantis')
-rw-r--r--drivers/media/dvb/mantis/mantis_dvb.c1
-rw-r--r--drivers/media/dvb/mantis/mantis_evm.c5
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/dvb/mantis/mantis_dvb.c b/drivers/media/dvb/mantis/mantis_dvb.c
index 3325b59ce19..ade444963c8 100644
--- a/drivers/media/dvb/mantis/mantis_dvb.c
+++ b/drivers/media/dvb/mantis/mantis_dvb.c
@@ -313,6 +313,7 @@ int __devinit mantis_frontend_init(struct mantis_pci *mantis)
int __devexit mantis_dvb_exit(struct mantis_pci *mantis)
{
+ mantis_ca_exit(mantis);
tasklet_kill(&mantis->tasklet);
dvb_net_release(&mantis->dvbnet);
mantis->demux.dmx.remove_frontend(&mantis->demux.dmx, &mantis->fe_mem);
diff --git a/drivers/media/dvb/mantis/mantis_evm.c b/drivers/media/dvb/mantis/mantis_evm.c
index d81068d0834..c35ddd868f8 100644
--- a/drivers/media/dvb/mantis/mantis_evm.c
+++ b/drivers/media/dvb/mantis/mantis_evm.c
@@ -27,9 +27,12 @@ void mantis_hifevm_tasklet(unsigned long data)
struct mantis_ca *ca = (struct mantis_ca *) data;
struct mantis_pci *mantis = ca->ca_priv;
- u32 gpif_stat;
+ u32 gpif_stat, gpif_mask;
gpif_stat = mmread(MANTIS_GPIF_STATUS);
+ gpif_mask = mmread(MANTIS_GPIF_IRQCFG);
+ if (!((gpif_stat & 0xff) & (gpif_mask & 0xff)))
+ return;
if (gpif_stat & MANTIS_GPIF_DETSTAT) {
if (gpif_stat & MANTIS_CARD_PLUGIN) {