diff mbox series

drm/lima: fix lima_gem_wait() return value

Message ID 20190908024800.23229-1-anarsoul@gmail.com (mailing list archive)
State New, archived
Headers show
Series drm/lima: fix lima_gem_wait() return value | expand

Commit Message

Vasily Khoruzhick Sept. 8, 2019, 2:48 a.m. UTC
drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME
if it timeouts, but lima driver assumed that 0 is error.

Cc: stable@vger.kernel.org
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
---
 drivers/gpu/drm/lima/lima_gem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Qiang Yu Sept. 9, 2019, 2:30 a.m. UTC | #1
Oh, I was miss leading by the drm_gem_reservation_object_wait
comments. Patch is:
Reviewed-by: Qiang Yu <yuq825@gmail.com>

I'll apply this patch to drm-misc-next.

Current kernel release is 5.3-rc8, is it too late for this fix to go
into the mainline 5.3 release?
I'd like to know how to apply this fix for current rc kernels, by
drm-misc-fixes? Can I push
to drm-misc-fixes by dim or I can only push to drm-misc-next and
drm-misc maintainer will
pick fixes from it to drm-misc-fixes?

Thanks,
Qiang

On Sun, Sep 8, 2019 at 10:48 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote:
>
> drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME
> if it timeouts, but lima driver assumed that 0 is error.
>
> Cc: stable@vger.kernel.org
> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> ---
>  drivers/gpu/drm/lima/lima_gem.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c
> index 477c0f766663..b609dc030d6c 100644
> --- a/drivers/gpu/drm/lima/lima_gem.c
> +++ b/drivers/gpu/drm/lima/lima_gem.c
> @@ -342,7 +342,7 @@ int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns)
>         timeout = drm_timeout_abs_to_jiffies(timeout_ns);
>
>         ret = drm_gem_reservation_object_wait(file, handle, write, timeout);
> -       if (ret == 0)
> +       if (ret == -ETIME)
>                 ret = timeout ? -ETIMEDOUT : -EBUSY;
>
>         return ret;
> --
> 2.23.0
>
Heiko Stuebner Sept. 9, 2019, 12:18 p.m. UTC | #2
Hi Qiang,

Am Montag, 9. September 2019, 04:30:43 CEST schrieb Qiang Yu:
> Oh, I was miss leading by the drm_gem_reservation_object_wait
> comments. Patch is:
> Reviewed-by: Qiang Yu <yuq825@gmail.com>
> 
> I'll apply this patch to drm-misc-next.
> 
> Current kernel release is 5.3-rc8, is it too late for this fix to go
> into the mainline 5.3 release?
> I'd like to know how to apply this fix for current rc kernels, by
> drm-misc-fixes? Can I push
> to drm-misc-fixes by dim or I can only push to drm-misc-next and
> drm-misc maintainer will
> pick fixes from it to drm-misc-fixes?

drm-misc-fixes gets merged into drm-misc-next by maintainers regularly,
so I _think_ you should apply the fix-patch to drm-misc-fixes first.
[I also always have to read the documentation ;-) ]

In any case you might want to add a "Fixes: ....." tag as well as a
"Cc: stable@vger.kernel.org" tag, so it can be backported to stable
kernels if applicable.


Heiko

> On Sun, Sep 8, 2019 at 10:48 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote:
> >
> > drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME
> > if it timeouts, but lima driver assumed that 0 is error.
> >
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> > ---
> >  drivers/gpu/drm/lima/lima_gem.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c
> > index 477c0f766663..b609dc030d6c 100644
> > --- a/drivers/gpu/drm/lima/lima_gem.c
> > +++ b/drivers/gpu/drm/lima/lima_gem.c
> > @@ -342,7 +342,7 @@ int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns)
> >         timeout = drm_timeout_abs_to_jiffies(timeout_ns);
> >
> >         ret = drm_gem_reservation_object_wait(file, handle, write, timeout);
> > -       if (ret == 0)
> > +       if (ret == -ETIME)
> >                 ret = timeout ? -ETIMEDOUT : -EBUSY;
> >
> >         return ret;
> > --
> > 2.23.0
> >
> _______________________________________________
> lima mailing list
> lima@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/lima
Vasily Khoruzhick Sept. 9, 2019, 4:23 p.m. UTC | #3
On Mon, Sep 9, 2019 at 5:18 AM Heiko Stübner <heiko@sntech.de> wrote:
>
> Hi Qiang,
>
> Am Montag, 9. September 2019, 04:30:43 CEST schrieb Qiang Yu:
> > Oh, I was miss leading by the drm_gem_reservation_object_wait
> > comments. Patch is:
> > Reviewed-by: Qiang Yu <yuq825@gmail.com>
> >
> > I'll apply this patch to drm-misc-next.
> >
> > Current kernel release is 5.3-rc8, is it too late for this fix to go
> > into the mainline 5.3 release?
> > I'd like to know how to apply this fix for current rc kernels, by
> > drm-misc-fixes? Can I push
> > to drm-misc-fixes by dim or I can only push to drm-misc-next and
> > drm-misc maintainer will
> > pick fixes from it to drm-misc-fixes?
>
> drm-misc-fixes gets merged into drm-misc-next by maintainers regularly,
> so I _think_ you should apply the fix-patch to drm-misc-fixes first.
> [I also always have to read the documentation ;-) ]
>
> In any case you might want to add a "Fixes: ....." tag as well as a
> "Cc: stable@vger.kernel.org" tag, so it can be backported to stable
> kernels if applicable.

Cc: stable is already here, but I think it still needs "Fixes: " tag.

Qiang, can you add it at your side or you want me to resend the patch?

>
> Heiko
>
> > On Sun, Sep 8, 2019 at 10:48 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote:
> > >
> > > drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME
> > > if it timeouts, but lima driver assumed that 0 is error.
> > >
> > > Cc: stable@vger.kernel.org
> > > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> > > ---
> > >  drivers/gpu/drm/lima/lima_gem.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c
> > > index 477c0f766663..b609dc030d6c 100644
> > > --- a/drivers/gpu/drm/lima/lima_gem.c
> > > +++ b/drivers/gpu/drm/lima/lima_gem.c
> > > @@ -342,7 +342,7 @@ int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns)
> > >         timeout = drm_timeout_abs_to_jiffies(timeout_ns);
> > >
> > >         ret = drm_gem_reservation_object_wait(file, handle, write, timeout);
> > > -       if (ret == 0)
> > > +       if (ret == -ETIME)
> > >                 ret = timeout ? -ETIMEDOUT : -EBUSY;
> > >
> > >         return ret;
> > > --
> > > 2.23.0
> > >
> > _______________________________________________
> > lima mailing list
> > lima@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/lima
>
>
>
>
Qiang Yu Sept. 10, 2019, 1:16 a.m. UTC | #4
Thanks Heiko, I'll push this patch to drm-misc-fixes.

I can add the Fixes tag before push.

Thanks,
Qiang

On Tue, Sep 10, 2019 at 12:23 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote:
>
> On Mon, Sep 9, 2019 at 5:18 AM Heiko Stübner <heiko@sntech.de> wrote:
> >
> > Hi Qiang,
> >
> > Am Montag, 9. September 2019, 04:30:43 CEST schrieb Qiang Yu:
> > > Oh, I was miss leading by the drm_gem_reservation_object_wait
> > > comments. Patch is:
> > > Reviewed-by: Qiang Yu <yuq825@gmail.com>
> > >
> > > I'll apply this patch to drm-misc-next.
> > >
> > > Current kernel release is 5.3-rc8, is it too late for this fix to go
> > > into the mainline 5.3 release?
> > > I'd like to know how to apply this fix for current rc kernels, by
> > > drm-misc-fixes? Can I push
> > > to drm-misc-fixes by dim or I can only push to drm-misc-next and
> > > drm-misc maintainer will
> > > pick fixes from it to drm-misc-fixes?
> >
> > drm-misc-fixes gets merged into drm-misc-next by maintainers regularly,
> > so I _think_ you should apply the fix-patch to drm-misc-fixes first.
> > [I also always have to read the documentation ;-) ]
> >
> > In any case you might want to add a "Fixes: ....." tag as well as a
> > "Cc: stable@vger.kernel.org" tag, so it can be backported to stable
> > kernels if applicable.
>
> Cc: stable is already here, but I think it still needs "Fixes: " tag.
>
> Qiang, can you add it at your side or you want me to resend the patch?
>
> >
> > Heiko
> >
> > > On Sun, Sep 8, 2019 at 10:48 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote:
> > > >
> > > > drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME
> > > > if it timeouts, but lima driver assumed that 0 is error.
> > > >
> > > > Cc: stable@vger.kernel.org
> > > > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> > > > ---
> > > >  drivers/gpu/drm/lima/lima_gem.c | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c
> > > > index 477c0f766663..b609dc030d6c 100644
> > > > --- a/drivers/gpu/drm/lima/lima_gem.c
> > > > +++ b/drivers/gpu/drm/lima/lima_gem.c
> > > > @@ -342,7 +342,7 @@ int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns)
> > > >         timeout = drm_timeout_abs_to_jiffies(timeout_ns);
> > > >
> > > >         ret = drm_gem_reservation_object_wait(file, handle, write, timeout);
> > > > -       if (ret == 0)
> > > > +       if (ret == -ETIME)
> > > >                 ret = timeout ? -ETIMEDOUT : -EBUSY;
> > > >
> > > >         return ret;
> > > > --
> > > > 2.23.0
> > > >
> > > _______________________________________________
> > > lima mailing list
> > > lima@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/lima
> >
> >
> >
> >
Qiang Yu Sept. 10, 2019, 3:09 a.m. UTC | #5
I've pushed this patch to drm-misc-fixes:
https://cgit.freedesktop.org/drm/drm-misc/commit/?h=drm-misc-fixes&id=21670bd78a25001cf8ef2679b378c73fb73b904f

There is a conflict when drm-tip merge process which has been solved
by following the doc:
https://drm.pages.freedesktop.org/maintainer-tools/drm-tip.html
drm_gem_reservation_object_wait() has been renamed to
drm_gem_dma_resv_wait() in drm-misc-next and drm-next.

Please let me know if I have to also push this fix to drm-misc-next by my own.

Thanks,
Qiang

On Tue, Sep 10, 2019 at 9:16 AM Qiang Yu <yuq825@gmail.com> wrote:
>
> Thanks Heiko, I'll push this patch to drm-misc-fixes.
>
> I can add the Fixes tag before push.
>
> Thanks,
> Qiang
>
> On Tue, Sep 10, 2019 at 12:23 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote:
> >
> > On Mon, Sep 9, 2019 at 5:18 AM Heiko Stübner <heiko@sntech.de> wrote:
> > >
> > > Hi Qiang,
> > >
> > > Am Montag, 9. September 2019, 04:30:43 CEST schrieb Qiang Yu:
> > > > Oh, I was miss leading by the drm_gem_reservation_object_wait
> > > > comments. Patch is:
> > > > Reviewed-by: Qiang Yu <yuq825@gmail.com>
> > > >
> > > > I'll apply this patch to drm-misc-next.
> > > >
> > > > Current kernel release is 5.3-rc8, is it too late for this fix to go
> > > > into the mainline 5.3 release?
> > > > I'd like to know how to apply this fix for current rc kernels, by
> > > > drm-misc-fixes? Can I push
> > > > to drm-misc-fixes by dim or I can only push to drm-misc-next and
> > > > drm-misc maintainer will
> > > > pick fixes from it to drm-misc-fixes?
> > >
> > > drm-misc-fixes gets merged into drm-misc-next by maintainers regularly,
> > > so I _think_ you should apply the fix-patch to drm-misc-fixes first.
> > > [I also always have to read the documentation ;-) ]
> > >
> > > In any case you might want to add a "Fixes: ....." tag as well as a
> > > "Cc: stable@vger.kernel.org" tag, so it can be backported to stable
> > > kernels if applicable.
> >
> > Cc: stable is already here, but I think it still needs "Fixes: " tag.
> >
> > Qiang, can you add it at your side or you want me to resend the patch?
> >
> > >
> > > Heiko
> > >
> > > > On Sun, Sep 8, 2019 at 10:48 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote:
> > > > >
> > > > > drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME
> > > > > if it timeouts, but lima driver assumed that 0 is error.
> > > > >
> > > > > Cc: stable@vger.kernel.org
> > > > > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> > > > > ---
> > > > >  drivers/gpu/drm/lima/lima_gem.c | 2 +-
> > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c
> > > > > index 477c0f766663..b609dc030d6c 100644
> > > > > --- a/drivers/gpu/drm/lima/lima_gem.c
> > > > > +++ b/drivers/gpu/drm/lima/lima_gem.c
> > > > > @@ -342,7 +342,7 @@ int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns)
> > > > >         timeout = drm_timeout_abs_to_jiffies(timeout_ns);
> > > > >
> > > > >         ret = drm_gem_reservation_object_wait(file, handle, write, timeout);
> > > > > -       if (ret == 0)
> > > > > +       if (ret == -ETIME)
> > > > >                 ret = timeout ? -ETIMEDOUT : -EBUSY;
> > > > >
> > > > >         return ret;
> > > > > --
> > > > > 2.23.0
> > > > >
> > > > _______________________________________________
> > > > lima mailing list
> > > > lima@lists.freedesktop.org
> > > > https://lists.freedesktop.org/mailman/listinfo/lima
> > >
> > >
> > >
> > >
diff mbox series

Patch

diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c
index 477c0f766663..b609dc030d6c 100644
--- a/drivers/gpu/drm/lima/lima_gem.c
+++ b/drivers/gpu/drm/lima/lima_gem.c
@@ -342,7 +342,7 @@  int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns)
 	timeout = drm_timeout_abs_to_jiffies(timeout_ns);
 
 	ret = drm_gem_reservation_object_wait(file, handle, write, timeout);
-	if (ret == 0)
+	if (ret == -ETIME)
 		ret = timeout ? -ETIMEDOUT : -EBUSY;
 
 	return ret;