V4L/DVB (5209): Kthread api conversion for dvb_frontend and av7110 fix
authorakpm@linux-foundation.org <akpm@linux-foundation.org>
Thu, 8 Feb 2007 17:36:57 +0000 (14:36 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 21 Feb 2007 15:35:20 +0000 (13:35 -0200)
avoid double-up(), pointed out by Oliver.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/dvb-core/dvb_frontend.c

index 470ae16..a21a894 100644 (file)
@@ -525,7 +525,7 @@ static int dvb_frontend_thread(void *data)
 
        while (1) {
                up(&fepriv->sem);           /* is locked when we enter the thread... */
-
+restart:
                timeout = wait_event_interruptible_timeout(fepriv->wait_queue,
                        dvb_frontend_should_wakeup(fe) || kthread_should_stop(),
                        fepriv->delay);
@@ -536,7 +536,7 @@ static int dvb_frontend_thread(void *data)
                }
 
                if (try_to_freeze())
-                       continue;
+                       goto restart;
 
                if (down_interruptible(&fepriv->sem))
                        break;