summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/dvb-core
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/dvb/dvb-core')
-rw-r--r--linux/drivers/media/dvb/dvb-core/dvb_frontend.c8
1 files changed, 7 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 4670205fe..7b0d5bb89 100644
--- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -439,13 +439,16 @@ int dvb_frontend_thread (void *data)
daemonize ();
reparent_to_init ();
sigfillset (&current->blocked);
- strncpy (current->comm, "kdvb-fe", sizeof (current->comm));
fe->thread = current;
+ snprintf (current->comm, sizeof (current->comm), "kdvb-fe-%i:%i",
+ fe->frontend.i2c->adapter->num, fe->frontend.i2c->id);
unlock_kernel ();
dvb_call_frontend_notifiers (fe, 0);
dvb_frontend_init (fe);
+ fe->lost_sync_count = -1;
+
while (!dvb_frontend_is_exiting (fe)) {
up (&fe->sem); /* is locked when we enter the thread... */
@@ -456,6 +459,9 @@ int dvb_frontend_thread (void *data)
return -ERESTARTSYS;
}
+ if (fe->lost_sync_count == -1)
+ continue;
+
if (dvb_frontend_is_exiting (fe))
break;