qxl: fix bug with object eviction and update area
authorDave Airlie <airlied@redhat.com>
Thu, 9 May 2013 04:07:10 +0000 (05:07 +0100)
committerDave Airlie <airlied@redhat.com>
Fri, 17 May 2013 01:45:46 +0000 (11:45 +1000)
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>
drivers/gpu/drm/qxl/qxl_ioctl.c

index 04b64f9..6db7370 100644 (file)
@@ -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))