Be safe when dereferencing fence->xe.

Signed-off-by: Matthew Brost <[email protected]>
---
 drivers/gpu/drm/xe/xe_hw_fence.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_hw_fence.c b/drivers/gpu/drm/xe/xe_hw_fence.c
index f5fad4426729..8181dfc628e4 100644
--- a/drivers/gpu/drm/xe/xe_hw_fence.c
+++ b/drivers/gpu/drm/xe/xe_hw_fence.c
@@ -159,9 +159,7 @@ static struct xe_hw_fence_irq *xe_hw_fence_irq(struct 
xe_hw_fence *fence)
 
 static const char *xe_hw_fence_get_driver_name(struct dma_fence *dma_fence)
 {
-       struct xe_hw_fence *fence = to_xe_hw_fence(dma_fence);
-
-       return dev_name(fence->xe->drm.dev);
+       return "xe";
 }
 
 static const char *xe_hw_fence_get_timeline_name(struct dma_fence *dma_fence)
@@ -175,10 +173,13 @@ static bool xe_hw_fence_signaled(struct dma_fence 
*dma_fence)
 {
        struct xe_hw_fence *fence = to_xe_hw_fence(dma_fence);
        struct xe_device *xe = fence->xe;
-       u32 seqno = xe_map_rd(xe, &fence->seqno_map, 0, u32);
+       u32 seqno;
+
+       if (dma_fence->error)
+               return true;
 
-       return dma_fence->error ||
-               !__dma_fence_is_later(dma_fence, dma_fence->seqno, seqno);
+       seqno = xe_map_rd(xe, &fence->seqno_map, 0, u32);
+       return !__dma_fence_is_later(dma_fence, dma_fence->seqno, seqno);
 }
 
 static bool xe_hw_fence_enable_signaling(struct dma_fence *dma_fence)
-- 
2.34.1

Reply via email to