2022-09-18 22:41:10

by Li Zhong

[permalink] [raw]
Subject: [PATCH v1] drivers/gpu/drm/i915/gt: Check the return value of i915_active_acquire()

i915_active_acquire() could return error when the acquire fails. Check
and return the error code.

Signed-off-by: Li Zhong <[email protected]>
---
drivers/gpu/drm/i915/gt/intel_timeline.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_timeline.c b/drivers/gpu/drm/i915/gt/intel_timeline.c
index b9640212d659..d8333ab64574 100644
--- a/drivers/gpu/drm/i915/gt/intel_timeline.c
+++ b/drivers/gpu/drm/i915/gt/intel_timeline.c
@@ -211,7 +211,10 @@ int intel_timeline_pin(struct intel_timeline *tl, struct i915_gem_ww_ctx *ww)
GT_TRACE(tl->gt, "timeline:%llx using HWSP offset:%x\n",
tl->fence_context, tl->hwsp_offset);

- i915_active_acquire(&tl->active);
+ err = i915_active_acquire(&tl->active);
+ if (err)
+ return err;
+
if (atomic_fetch_inc(&tl->pin_count)) {
i915_active_release(&tl->active);
__i915_vma_unpin(tl->hwsp_ggtt);
--
2.25.1


2022-09-19 09:03:34

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH v1] drivers/gpu/drm/i915/gt: Check the return value of i915_active_acquire()

On Sun, 18 Sep 2022, Li Zhong <[email protected]> wrote:
> i915_active_acquire() could return error when the acquire fails. Check
> and return the error code.

The commit message should explain why you don't need to do further error
handling. Or do you?

Side note, the distribution list is excessive.

BR,
Jani.


> Signed-off-by: Li Zhong <[email protected]>
> ---
> drivers/gpu/drm/i915/gt/intel_timeline.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_timeline.c b/drivers/gpu/drm/i915/gt/intel_timeline.c
> index b9640212d659..d8333ab64574 100644
> --- a/drivers/gpu/drm/i915/gt/intel_timeline.c
> +++ b/drivers/gpu/drm/i915/gt/intel_timeline.c
> @@ -211,7 +211,10 @@ int intel_timeline_pin(struct intel_timeline *tl, struct i915_gem_ww_ctx *ww)
> GT_TRACE(tl->gt, "timeline:%llx using HWSP offset:%x\n",
> tl->fence_context, tl->hwsp_offset);
>
> - i915_active_acquire(&tl->active);
> + err = i915_active_acquire(&tl->active);
> + if (err)
> + return err;
> +
> if (atomic_fetch_inc(&tl->pin_count)) {
> i915_active_release(&tl->active);
> __i915_vma_unpin(tl->hwsp_ggtt);

--
Jani Nikula, Intel Open Source Graphics Center