aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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) {