Răsfoiți Sursa

V4L/DVB (5209): Kthread api conversion for dvb_frontend and av7110 fix

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>
akpm@linux-foundation.org 18 ani în urmă
părinte
comite
6591691b25
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 2 2
      drivers/media/dvb/dvb-core/dvb_frontend.c

+ 2 - 2
drivers/media/dvb/dvb-core/dvb_frontend.c

@@ -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;