Re: [PATCH 4/4] drm/i915: Subsume intel_ctx_submit_request in to drm_i915_gem_request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 01/15/2015 01:10 PM, Nick Hoath wrote:
  void intel_execlists_retire_requests(struct intel_engine_cs *ring)
  {
-	struct intel_ctx_submit_request *req, *tmp;
+	struct drm_i915_gem_request *req, *tmp;
  	struct drm_i915_private *dev_priv = ring->dev->dev_private;
  	unsigned long flags;
  	struct list_head retired_list;
@@ -776,7 +771,7 @@ void intel_execlists_retire_requests(struct intel_engine_cs *ring)
  	spin_unlock_irqrestore(&ring->execlist_lock, flags);

  	list_for_each_entry_safe(req, tmp, &retired_list, execlist_link) {
-		struct intel_context *ctx = req->request->ctx;
+		struct intel_context *ctx = req->ctx;
  		struct drm_i915_gem_object *ctx_obj =
  				ctx->engine[ring->id].state;

@@ -784,9 +779,8 @@ void intel_execlists_retire_requests(struct intel_engine_cs *ring)
  			intel_lr_context_unpin(ring, ctx);
  		intel_runtime_pm_put(dev_priv);
  		i915_gem_context_unreference(ctx);
-		i915_gem_request_unreference(req->request);
+		i915_gem_request_unreference(req);
  		list_del(&req->execlist_link);

It looks like the this req unreference can be the last one in which case list_del explodes. I don't know if it was intended that it cannot be the last unreference, but I have a log which proves it can be. :)

Regards,

Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux