Hi, 2015-03-15 23:46 GMT+09:00 Guennadi Liakhovetski <g.liakhovetski@xxxxxx>: > Hi, > > Thanks for the patch. > > On Sun, 15 Mar 2015, Yoshihiro Kaneko wrote: > >> From: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> >> >> 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@xxxxxxxxxxx> >> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> >> --- >> >> This patch is against master branch of linuxtv.org/media_tree.git. >> >> drivers/media/platform/soc_camera/rcar_vin.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/drivers/media/platform/soc_camera/rcar_vin.c b/drivers/media/platform/soc_camera/rcar_vin.c >> index 279ab9f..ff0359b 100644 >> --- a/drivers/media/platform/soc_camera/rcar_vin.c >> +++ b/drivers/media/platform/soc_camera/rcar_vin.c >> @@ -135,6 +135,8 @@ >> #define VIN_MAX_WIDTH 2048 >> #define VIN_MAX_HEIGHT 2048 >> >> +#define TIMEOUT_MS 100 >> + >> enum chip_id { >> RCAR_GEN2, >> RCAR_H1, >> @@ -821,6 +823,10 @@ static void rcar_vin_wait_stop_streaming(struct rcar_vin_priv *priv) >> priv->request_to_stop = true; >> 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; > > You forgot to remove the original wait_for_completion(). Oops, my bad. Thanks, Kaneko > > Thanks > Guennadi > >> spin_lock_irq(&priv->lock); >> } >> } >> -- >> 1.9.1 >> -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html