diff options
Diffstat (limited to 'linux/drivers')
-rw-r--r-- | linux/drivers/media/dvb/dvb-core/dvb_frontend.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c index 755c183dc..da0533dd3 100644 --- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c @@ -498,7 +498,7 @@ void dvb_frontend_stop (struct dvb_frontend_data *fe) { dprintk ("%s\n", __FUNCTION__); - while (fe->thread) { + while (fe->thread != NULL && fe->thread != (void*) ~0) { fe->exit = 1; wake_up_interruptible (&fe->wait_queue); current->state = TASK_INTERRUPTIBLE; @@ -519,6 +519,7 @@ void dvb_frontend_start (struct dvb_frontend_data *fe) return; fe->exit = 0; + fe->thread = (void*) ~0; kernel_thread (dvb_frontend_thread, fe, 0); } |