浏览代码

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>
Manu Abraham 15 年之前
父节点
当前提交
3062b1571a
共有 2 个文件被更改,包括 5 次插入1 次删除
  1. 1 0
      drivers/media/dvb/mantis/mantis_dvb.c
  2. 4 1
      drivers/media/dvb/mantis/mantis_evm.c

+ 1 - 0
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);

+ 4 - 1
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) {