Skip to content

Commit

Permalink
drm/i915/guc: Assert guc->stage_desc_pool is allocated
Browse files Browse the repository at this point in the history
Silence smatch by demonstrating that guc->stage_desc_pool is allocated
following a successful guc_stage_desc_pool_create(),

drivers/gpu/drm/i915/i915_guc_submission.c:1293 i915_guc_submission_init() error: we previously assumed 'guc->stage_desc_pool' could be null (see line 1261)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Oscar Mateo <oscar.mateo@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171106114833.31199-1-chris@chris-wilson.co.uk
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
  • Loading branch information
Chris Wilson committed Nov 6, 2017
1 parent f991c49 commit 856efd2
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions drivers/gpu/drm/i915/i915_guc_submission.c
Original file line number Diff line number Diff line change
Expand Up @@ -1264,10 +1264,16 @@ int i915_guc_submission_init(struct drm_i915_private *dev_priv)
ret = guc_stage_desc_pool_create(guc);
if (ret)
return ret;
/*
* Keep static analysers happy, let them know that we allocated the
* vma after testing that it didn't exist earlier.
*/
GEM_BUG_ON(!guc->stage_desc_pool);

ret = guc_shared_data_create(guc);
if (ret)
goto err_stage_desc_pool;
GEM_BUG_ON(!guc->shared_data);

ret = intel_guc_log_create(guc);
if (ret < 0)
Expand All @@ -1276,10 +1282,12 @@ int i915_guc_submission_init(struct drm_i915_private *dev_priv)
ret = guc_preempt_work_create(guc);
if (ret)
goto err_log;
GEM_BUG_ON(!guc->preempt_wq);

ret = guc_ads_create(guc);
if (ret < 0)
goto err_wq;
GEM_BUG_ON(!guc->ads_vma);

return 0;

Expand Down

0 comments on commit 856efd2

Please sign in to comment.