mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 09:01:36 -04:00
media: nuvoton: npcm-video: Fix stuck due to no video signal error
Fix the issue when start_frame and detect_resolution functions are executed at the same time, which may cause driver stops capturing due to status of no video signal error. Signed-off-by: Michael Chang <zhang971090220@gmail.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
This commit is contained in:
committed by
Hans Verkuil
parent
a9076609e1
commit
497f1fb947
@@ -863,7 +863,6 @@ static void npcm_video_detect_resolution(struct npcm_video *video)
|
||||
struct regmap *gfxi = video->gfx_regmap;
|
||||
unsigned int dispst;
|
||||
|
||||
video->v4l2_input_status = V4L2_IN_ST_NO_SIGNAL;
|
||||
det->width = npcm_video_hres(video);
|
||||
det->height = npcm_video_vres(video);
|
||||
|
||||
@@ -892,12 +891,16 @@ static void npcm_video_detect_resolution(struct npcm_video *video)
|
||||
clear_bit(VIDEO_RES_CHANGING, &video->flags);
|
||||
}
|
||||
|
||||
if (det->width && det->height)
|
||||
if (det->width && det->height) {
|
||||
video->v4l2_input_status = 0;
|
||||
|
||||
dev_dbg(video->dev, "Got resolution[%dx%d] -> [%dx%d], status %d\n",
|
||||
act->width, act->height, det->width, det->height,
|
||||
video->v4l2_input_status);
|
||||
dev_dbg(video->dev, "Got resolution[%dx%d] -> [%dx%d], status %d\n",
|
||||
act->width, act->height, det->width, det->height,
|
||||
video->v4l2_input_status);
|
||||
} else {
|
||||
video->v4l2_input_status = V4L2_IN_ST_NO_SIGNAL;
|
||||
dev_err(video->dev, "Got invalid resolution[%dx%d]\n", det->width,
|
||||
det->height);
|
||||
}
|
||||
}
|
||||
|
||||
static int npcm_video_set_resolution(struct npcm_video *video,
|
||||
|
||||
Reference in New Issue
Block a user