On 5/24/19 6:17 PM, Jae Hyun Yoo wrote:
There is an incorrect timeout checking in mode detection logic so it misses resolution detecting chances. This commit fixes the bug. Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@xxxxxxxxxxxxxxx> --- v1 -> v2: New. drivers/media/platform/aspeed-video.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c index 67f476bf0a03..b05b073b63bc 100644 --- a/drivers/media/platform/aspeed-video.c +++ b/drivers/media/platform/aspeed-video.c @@ -735,7 +735,7 @@ static void aspeed_video_get_resolution(struct aspeed_video *video) do { if (tries) { set_current_state(TASK_INTERRUPTIBLE); - if (schedule_timeout(INVALID_RESOLUTION_DELAY)) + if (!schedule_timeout(INVALID_RESOLUTION_DELAY)) return;
schedule_timeout returns 0 when the timer has expired otherwise the remaining time in jiffies will be returned. So if it was interrupted (timer did not expire and it returns non-zero) then we should return, rather than keep trying. So I think it was correct before. Thanks, Eddie
}