[Intel-gfx] [PATCH] drm/i915/guc: Don't leak stage descriptor pool on init failure
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Tue Jun 5 17:38:38 UTC 2018
On 05/06/18 05:05, Michal Wajdeczko wrote:
> In case of failure during GuC clients creation, we forget to
> cleanup earlier pool allocation. Use proper teardown to fix that.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Michal Winiarski <michal.winiarski at intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> ---
> drivers/gpu/drm/i915/intel_guc_submission.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c b/drivers/gpu/drm/i915/intel_guc_submission.c
> index 133367a..23e9f20 100644
> --- a/drivers/gpu/drm/i915/intel_guc_submission.c
> +++ b/drivers/gpu/drm/i915/intel_guc_submission.c
> @@ -1157,7 +1157,7 @@ int intel_guc_submission_init(struct intel_guc *guc)
> WARN_ON(!guc_verify_doorbells(guc));
> ret = guc_clients_create(guc);
> if (ret)
> - return ret;
> + goto err_pool;
>
> for_each_engine(engine, dev_priv, id) {
> guc->preempt_work[id].engine = engine;
> @@ -1166,6 +1166,9 @@ int intel_guc_submission_init(struct intel_guc *guc)
>
> return 0;
>
> +err_pool:
> + guc_stage_desc_pool_destroy(guc);
> + return ret;
> }
>
> void intel_guc_submission_fini(struct intel_guc *guc)
>
More information about the Intel-gfx
mailing list