2019-04-25 14:27:02

by Nicholas Mc Guire

[permalink] [raw]
Subject: [PATCH] drm/msm: check for equals 0 only

wait_for_completion_timeout() returns 0 on timeout and aleast 1 otherwise
so checking for < makes no sense here.

Signed-off-by: Nicholas Mc Guire <[email protected]>
---

Problem located with an experimental coccinelle script

While this check does no harm in this form - it should be fixed anyway
to comply with the API see: kernel/sched/completion.c

Also noticed that get_maintainer.pl will not list [email protected]
when run on drivers/gpu/drm/msm/dsi/dsi_host.c - is that intentional ?

Patch was compile-tested with: qcom_defconfig (implies DRM_MSM_DSI=y)

Patch is against v5.1-rc6 (localversion-next is next-20190424)

drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
index 610183d..dc16067 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_host.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
@@ -1049,7 +1049,7 @@ static void dsi_wait4video_done(struct msm_dsi_host *msm_host)
ret = wait_for_completion_timeout(&msm_host->video_comp,
msecs_to_jiffies(70));

- if (ret <= 0)
+ if (ret == 0)
DRM_DEV_ERROR(dev, "wait for video done timed out\n");

dsi_intr_ctrl(msm_host, DSI_IRQ_MASK_VIDEO_DONE, 0);
--
2.1.4


2019-04-25 23:11:52

by Abhinav Kumar

[permalink] [raw]
Subject: Re: [Freedreno] [PATCH] drm/msm: check for equals 0 only

On 2019-04-25 07:03, Nicholas Mc Guire wrote:
> wait_for_completion_timeout() returns 0 on timeout and aleast 1
> otherwise
> so checking for < makes no sense here.
>
> Signed-off-by: Nicholas Mc Guire <[email protected]>
Reviewed-by: Abhinav Kumar <[email protected]>
> ---
>
> Problem located with an experimental coccinelle script
>
> While this check does no harm in this form - it should be fixed anyway
> to comply with the API see: kernel/sched/completion.c
>
> Also noticed that get_maintainer.pl will not list
> [email protected]
> when run on drivers/gpu/drm/msm/dsi/dsi_host.c - is that intentional ?
>
> Patch was compile-tested with: qcom_defconfig (implies DRM_MSM_DSI=y)
>
> Patch is against v5.1-rc6 (localversion-next is next-20190424)
>
> drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c
> b/drivers/gpu/drm/msm/dsi/dsi_host.c
> index 610183d..dc16067 100644
> --- a/drivers/gpu/drm/msm/dsi/dsi_host.c
> +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
> @@ -1049,7 +1049,7 @@ static void dsi_wait4video_done(struct
> msm_dsi_host *msm_host)
> ret = wait_for_completion_timeout(&msm_host->video_comp,
> msecs_to_jiffies(70));
>
> - if (ret <= 0)
> + if (ret == 0)
> DRM_DEV_ERROR(dev, "wait for video done timed out\n");
>
> dsi_intr_ctrl(msm_host, DSI_IRQ_MASK_VIDEO_DONE, 0);

2019-04-26 01:40:10

by Rob Clark

[permalink] [raw]
Subject: Re: [PATCH] drm/msm: check for equals 0 only

On Thu, Apr 25, 2019 at 7:09 AM Nicholas Mc Guire <[email protected]> wrote:
>
> wait_for_completion_timeout() returns 0 on timeout and aleast 1 otherwise
> so checking for < makes no sense here.
>
> Signed-off-by: Nicholas Mc Guire <[email protected]>
> ---
>
> Problem located with an experimental coccinelle script
>
> While this check does no harm in this form - it should be fixed anyway
> to comply with the API see: kernel/sched/completion.c
>
> Also noticed that get_maintainer.pl will not list [email protected]
> when run on drivers/gpu/drm/msm/dsi/dsi_host.c - is that intentional ?

Thanks, I'll pull this in for -fixes

as far as get_maintainer.pl.. I'm not entirely sure.. we don't list
[email protected] explicitly, but neither do a lot of the
other driver entries. Possibly this is a oversight in the MAINTAINERS
entry? Either way, I guess I'd say that it isn't intentional.

BR,
-R

>
> Patch was compile-tested with: qcom_defconfig (implies DRM_MSM_DSI=y)
>
> Patch is against v5.1-rc6 (localversion-next is next-20190424)
>
> drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
> index 610183d..dc16067 100644
> --- a/drivers/gpu/drm/msm/dsi/dsi_host.c
> +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
> @@ -1049,7 +1049,7 @@ static void dsi_wait4video_done(struct msm_dsi_host *msm_host)
> ret = wait_for_completion_timeout(&msm_host->video_comp,
> msecs_to_jiffies(70));
>
> - if (ret <= 0)
> + if (ret == 0)
> DRM_DEV_ERROR(dev, "wait for video done timed out\n");
>
> dsi_intr_ctrl(msm_host, DSI_IRQ_MASK_VIDEO_DONE, 0);
> --
> 2.1.4
>