summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/ttpci/av7110.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/dvb/ttpci/av7110.c')
-rw-r--r--linux/drivers/media/dvb/ttpci/av7110.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/linux/drivers/media/dvb/ttpci/av7110.c b/linux/drivers/media/dvb/ttpci/av7110.c
index 178167405..9a100f837 100644
--- a/linux/drivers/media/dvb/ttpci/av7110.c
+++ b/linux/drivers/media/dvb/ttpci/av7110.c
@@ -154,7 +154,7 @@ static void recover_arm(struct av7110 *av7110)
DEB_EE(("av7110: %p\n",av7110));
av7110_bootarm(av7110);
- dvb_delay(100);
+ msleep(100);
restart_feeds(av7110);
av7110_fw_cmd(av7110, COMTYPE_PIDFILTER, SetIR, 1, av7110->ir_config);
}
@@ -176,7 +176,11 @@ static int arm_thread(void *data)
DEB_EE(("av7110: %p\n",av7110));
- dvb_kernel_thread_setup("arm_mon");
+ lock_kernel ();
+ daemonize ("arm_mon");
+ sigfillset (&current->blocked);
+ unlock_kernel ();
+
av7110->arm_thread = current;
while (1) {
@@ -1576,7 +1580,7 @@ err3:
av7110->arm_rmmod = 1;
wake_up_interruptible(&av7110->arm_wait);
while (av7110->arm_thread)
- dvb_delay(1);
+ msleep(1);
err2:
av7110_ca_exit(av7110);
av7110_av_exit(av7110);
@@ -1611,7 +1615,7 @@ static int av7110_detach (struct saa7146_dev* saa)
wake_up_interruptible(&av7110->arm_wait);
while (av7110->arm_thread)
- dvb_delay(1);
+ msleep(1);
dvb_unregister(av7110);