video/bw-qcam: replace schedule_timeout()
Subsystems (2)
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.
Signed-off-by Nishanth Aravamudan <[email protected]>
drivers/media/video/bw-qcam.c +4 -14
@@ -248,10 +248,7 @@ static int qc_waithand(struct qcam_devicresponse. */ 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_devicresponse. */ 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(structresponse. */ 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