* [PATCH/RFC] media: soc_camera: rcar_vin: Fix wait_for_completion
@ 2015-03-15 14:39 Yoshihiro Kaneko
2015-03-15 14:46 ` Guennadi Liakhovetski
2015-03-15 21:37 ` Sergei Shtylyov
0 siblings, 2 replies; 4+ messages in thread
From: Yoshihiro Kaneko @ 2015-03-15 14:39 UTC (permalink / raw)
To: linux-media; +Cc: Guennadi Liakhovetski, Simon Horman, Magnus Damm, linux-sh
From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
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>
---
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;
spin_lock_irq(&priv->lock);
}
}
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH/RFC] media: soc_camera: rcar_vin: Fix wait_for_completion
2015-03-15 14:39 [PATCH/RFC] media: soc_camera: rcar_vin: Fix wait_for_completion Yoshihiro Kaneko
@ 2015-03-15 14:46 ` Guennadi Liakhovetski
2015-03-16 13:44 ` Yoshihiro Kaneko
2015-03-15 21:37 ` Sergei Shtylyov
1 sibling, 1 reply; 4+ messages in thread
From: Guennadi Liakhovetski @ 2015-03-15 14:46 UTC (permalink / raw)
To: Yoshihiro Kaneko; +Cc: linux-media, Simon Horman, Magnus Damm, linux-sh
Hi,
Thanks for the patch.
On Sun, 15 Mar 2015, Yoshihiro Kaneko wrote:
> From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
>
> 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>
> ---
>
> 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().
Thanks
Guennadi
> spin_lock_irq(&priv->lock);
> }
> }
> --
> 1.9.1
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH/RFC] media: soc_camera: rcar_vin: Fix wait_for_completion
2015-03-15 14:39 [PATCH/RFC] media: soc_camera: rcar_vin: Fix wait_for_completion Yoshihiro Kaneko
2015-03-15 14:46 ` Guennadi Liakhovetski
@ 2015-03-15 21:37 ` Sergei Shtylyov
1 sibling, 0 replies; 4+ messages in thread
From: Sergei Shtylyov @ 2015-03-15 21:37 UTC (permalink / raw)
To: Yoshihiro Kaneko, linux-media
Cc: Guennadi Liakhovetski, Simon Horman, Magnus Damm, linux-sh
Hello.
On 03/15/2015 05:39 PM, Yoshihiro Kaneko wrote:
> From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
> 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>
> ---
[...]
> 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
[...]
> @@ -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);
You forgot to remove this line, as already noted.
> + if (!wait_for_completion_timeout(
> + &priv->capture_stop,
> + msecs_to_jiffies(TIMEOUT_MS)))
Please indent the above 2 lines more to the right, so that they're easier
on the eyes with the following line.
> + priv->state = STOPPED;
> spin_lock_irq(&priv->lock);
> }
> }
WBR, Sergei
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH/RFC] media: soc_camera: rcar_vin: Fix wait_for_completion
2015-03-15 14:46 ` Guennadi Liakhovetski
@ 2015-03-16 13:44 ` Yoshihiro Kaneko
0 siblings, 0 replies; 4+ messages in thread
From: Yoshihiro Kaneko @ 2015-03-16 13:44 UTC (permalink / raw)
To: Guennadi Liakhovetski
Cc: Linux Media Mailing List, Simon Horman, Magnus Damm,
Linux-sh list
Hi,
2015-03-15 23:46 GMT+09:00 Guennadi Liakhovetski <g.liakhovetski@gmx.de>:
> Hi,
>
> Thanks for the patch.
>
> On Sun, 15 Mar 2015, Yoshihiro Kaneko wrote:
>
>> From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
>>
>> 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>
>> ---
>>
>> 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
>>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-03-16 13:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-15 14:39 [PATCH/RFC] media: soc_camera: rcar_vin: Fix wait_for_completion Yoshihiro Kaneko
2015-03-15 14:46 ` Guennadi Liakhovetski
2015-03-16 13:44 ` Yoshihiro Kaneko
2015-03-15 21:37 ` Sergei Shtylyov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).