From: Dave Airlie <airlied@redhat.com>
Date: Thu, 9 May 2013 04:07:10 +0000 (+0100)
Subject: qxl: fix bug with object eviction and update area
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=b90ed1e931c4d11cf32710c8a310b603effb5b11;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

qxl: fix bug with object eviction and update area

if the surface is evicted, this validation will happen
to the wrong place, I noticed this with other work I was
doing, haven't seen it go wrong in practice.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---

diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c
index 04b64f9cbfdb..6db7370373ea 100644
--- a/drivers/gpu/drm/qxl/qxl_ioctl.c
+++ b/drivers/gpu/drm/qxl/qxl_ioctl.c
@@ -294,6 +294,7 @@ static int qxl_update_area_ioctl(struct drm_device *dev, void *data,
 		goto out;
 
 	if (!qobj->pin_count) {
+		qxl_ttm_placement_from_domain(qobj, qobj->type);
 		ret = ttm_bo_validate(&qobj->tbo, &qobj->placement,
 				      true, false);
 		if (unlikely(ret))