diff options
Diffstat (limited to 'linux/drivers/media/dvb/ttpci/av7110.c')
-rw-r--r-- | linux/drivers/media/dvb/ttpci/av7110.c | 12 |
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 (¤t->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); |