aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_gem.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_gem.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_gem.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c
index 3ce58d2222cb..e8b04f4aed7e 100644
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -600,7 +600,7 @@ nouveau_gem_ioctl_pushbuf(struct drm_device *dev, void *data,
600 if (push[i].bo_index >= req->nr_buffers) { 600 if (push[i].bo_index >= req->nr_buffers) {
601 NV_ERROR(dev, "push %d buffer not in list\n", i); 601 NV_ERROR(dev, "push %d buffer not in list\n", i);
602 ret = -EINVAL; 602 ret = -EINVAL;
603 goto out; 603 goto out_prevalid;
604 } 604 }
605 605
606 bo[push[i].bo_index].read_domains |= (1 << 31); 606 bo[push[i].bo_index].read_domains |= (1 << 31);
@@ -612,7 +612,7 @@ nouveau_gem_ioctl_pushbuf(struct drm_device *dev, void *data,
612 if (ret) { 612 if (ret) {
613 if (ret != -ERESTARTSYS) 613 if (ret != -ERESTARTSYS)
614 NV_ERROR(dev, "validate: %d\n", ret); 614 NV_ERROR(dev, "validate: %d\n", ret);
615 goto out; 615 goto out_prevalid;
616 } 616 }
617 617
618 /* Apply any relocations that are required */ 618 /* Apply any relocations that are required */
@@ -705,6 +705,8 @@ nouveau_gem_ioctl_pushbuf(struct drm_device *dev, void *data,
705out: 705out:
706 validate_fini(&op, fence); 706 validate_fini(&op, fence);
707 nouveau_fence_unref(&fence); 707 nouveau_fence_unref(&fence);
708
709out_prevalid:
708 kfree(bo); 710 kfree(bo);
709 kfree(push); 711 kfree(push);
710 712