Skip to contentSkip to conversation

video/bw-qcam: replace schedule_timeout()

PATCH New Nishanth Aravamudan 1 participant 1 message Jul 26, 2004

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 video/bw-qcam: replace schedule_timeout()

I would appreciate any comments from the janitors list. This is one (of many) cases where I made a decision about replacing

set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(some_time);

with

msleep(jiffies_to_msecs(some_time));

msleep() is not exactly the same as the previous code, but I only did this replacement where I thought long delays were *desired*. If this is not the case here, then just disregard this patch.

Thanks,
Nish

Applys-to: 2.6.7

Description: Replace schedule_timeout() with msleep() to guarantee the task delays for the desired time.

drivers/media/video/bw-qcam.c +4 -14
@@ -248,10 +248,7 @@ static int qc_waithand(struct qcam_devic
 			   response. */
 			   
 			if(runs++>maxpoll)
-			{
-				current->state=TASK_INTERRUPTIBLE;
-				schedule_timeout(HZ/200);
-			}
+				msleep(5);
 			if(runs>(maxpoll+1000)) /* 5 seconds */
 				return -1;
 		}
@@ -268,10 +265,7 @@ static int qc_waithand(struct qcam_devic
 			   response. */
 			   
 			if(runs++>maxpoll)
-			{
-				current->state=TASK_INTERRUPTIBLE;
-				schedule_timeout(HZ/200);
-			}
+				msleep(5);
 			if(runs++>(maxpoll+1000)) /* 5 seconds */
 				return -1;
 		}
@@ -301,10 +295,7 @@ static unsigned int qc_waithand2(struct 
 		   response. */
 		   
 		if(runs++>maxpoll)
-		{
-			current->state=TASK_INTERRUPTIBLE;
-			schedule_timeout(HZ/200);
-		}
+			msleep(5);
 		if(runs++>(maxpoll+1000)) /* 5 seconds */
 			return 0;
 	}
@@ -669,8 +660,7 @@ long qc_capture(struct qcam_device * q, 
 		   time will be 240 / 200 = 1.2 seconds. The compile-time
 		   default is to yield every 4 lines. */
 		if (i >= yield) {
-			current->state=TASK_INTERRUPTIBLE;
-			schedule_timeout(HZ/200);
+			msleep(5);
 			yield = i + yieldlines;
 		}
 	}

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors