diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c index 21071b64b09d..a848d1a41b9b 100644 --- a/drivers/gpu/drm/xe/xe_ggtt.c +++ b/drivers/gpu/drm/xe/xe_ggtt.c @@ -481,15 +481,10 @@ static void ggtt_node_remove(struct xe_ggtt_node *node) xe_ggtt_clear(ggtt, xe_ggtt_node_addr(node), xe_ggtt_node_size(node)); drm_mm_remove_node(&node->base); node->base.size = 0; + if (bound && node->invalidate_on_remove) + xe_ggtt_invalidate(ggtt); mutex_unlock(&ggtt->lock); - if (!bound) - goto free_node; - - if (node->invalidate_on_remove) - xe_ggtt_invalidate(ggtt); - -free_node: ggtt_node_fini(node); }