From 2f573e6df4890784124eea24ce168702574f0152 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 8 May 2008 12:46:02 -0700
Subject: GEM: Fix oops on NULL dereference when we try clflushing when we
 don't need to.

---
 linux-core/i915_gem.c | 7 +++++++
 1 file changed, 7 insertions(+)

(limited to 'linux-core')

diff --git a/linux-core/i915_gem.c b/linux-core/i915_gem.c
index 861e7bb7..5c58032b 100644
--- a/linux-core/i915_gem.c
+++ b/linux-core/i915_gem.c
@@ -415,6 +415,13 @@ i915_gem_clflush_object (struct drm_gem_object *obj)
 {
 	struct drm_i915_gem_object	*obj_priv = obj->driver_private;
 
+	/* If we don't have a page list set up, then we're not pinned
+	 * to GPU, and we can ignore the cache flush because it'll happen
+	 * again at bind time.
+	 */
+	if (obj_priv->page_list == NULL)
+		return;
+
 	drm_ttm_cache_flush (obj_priv->page_list, obj->size / PAGE_SIZE);
 }
 	
-- 
cgit v1.2.3