mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-26 14:14:01 +08:00
[media] media: soc_camera: rcar_vin: Fix wait_for_completion
When stopping abnormally, a driver can't return from wait_for_completion. This patch resolved this problem by changing wait_for_completion_timeout from wait_for_completion. Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
2a700d8edf
commit
5a9b06a27d
@ -135,6 +135,8 @@
|
|||||||
#define VIN_MAX_WIDTH 2048
|
#define VIN_MAX_WIDTH 2048
|
||||||
#define VIN_MAX_HEIGHT 2048
|
#define VIN_MAX_HEIGHT 2048
|
||||||
|
|
||||||
|
#define TIMEOUT_MS 100
|
||||||
|
|
||||||
enum chip_id {
|
enum chip_id {
|
||||||
RCAR_GEN2,
|
RCAR_GEN2,
|
||||||
RCAR_H1,
|
RCAR_H1,
|
||||||
@ -820,7 +822,10 @@ static void rcar_vin_wait_stop_streaming(struct rcar_vin_priv *priv)
|
|||||||
if (priv->state == STOPPING) {
|
if (priv->state == STOPPING) {
|
||||||
priv->request_to_stop = true;
|
priv->request_to_stop = true;
|
||||||
spin_unlock_irq(&priv->lock);
|
spin_unlock_irq(&priv->lock);
|
||||||
wait_for_completion(&priv->capture_stop);
|
if (!wait_for_completion_timeout(
|
||||||
|
&priv->capture_stop,
|
||||||
|
msecs_to_jiffies(TIMEOUT_MS)))
|
||||||
|
priv->state = STOPPED;
|
||||||
spin_lock_irq(&priv->lock);
|
spin_lock_irq(&priv->lock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user