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>
 
        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);
                }
 
                if (try_to_freeze())
-                       continue;
+                       goto restart;
 
                if (down_interruptible(&fepriv->sem))
                        break;