[Intel-gfx] kernel 5.5.4: BUG: kernel NULL pointer dereference, address: 000000000000000

Hillf Danton hdanton at sina.com
Sun Feb 16 14:55:18 UTC 2020


On Sun, 16 Feb 2020 11:33:02 +0100 Toralf Foerster wrote:
> On 2/16/20 4:26 AM, Hillf Danton wrote:
> > Looks like a stray lock counts for the above NULL dereference.
> >
> Hi, the patch applied on top of 5.5.4 breaks the internal display now even
>  in the boot phase.

My bad.

Then try to do fence signaling before taking request's lock as we'll
take the fence specific lock if we're in the right direction.

--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -252,10 +252,10 @@ bool i915_request_retire(struct i915_req
 	 */
 	remove_from_engine(rq);
 
+	dma_fence_signal(&rq->fence);
+
 	spin_lock_irq(&rq->lock);
 	i915_request_mark_complete(rq);
-	if (!i915_request_signaled(rq))
-		dma_fence_signal_locked(&rq->fence);
 	if (test_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT, &rq->fence.flags))
 		i915_request_cancel_breadcrumb(rq);
 	if (i915_request_has_waitboost(rq)) {



More information about the Intel-gfx mailing list