Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1e3dc70 authored by Christian König's avatar Christian König
Browse files

drm/radeon: fix missing bo reservation

parent 19dff56a
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -561,6 +561,10 @@ int radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv)


		radeon_vm_init(rdev, &fpriv->vm);
		radeon_vm_init(rdev, &fpriv->vm);


		r = radeon_bo_reserve(rdev->ring_tmp_bo.bo, false);
		if (r)
			return r;

		/* map the ib pool buffer read only into
		/* map the ib pool buffer read only into
		 * virtual address space */
		 * virtual address space */
		bo_va = radeon_vm_bo_add(rdev, &fpriv->vm,
		bo_va = radeon_vm_bo_add(rdev, &fpriv->vm,
@@ -568,6 +572,8 @@ int radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv)
		r = radeon_vm_bo_set_addr(rdev, bo_va, RADEON_VA_IB_OFFSET,
		r = radeon_vm_bo_set_addr(rdev, bo_va, RADEON_VA_IB_OFFSET,
					  RADEON_VM_PAGE_READABLE |
					  RADEON_VM_PAGE_READABLE |
					  RADEON_VM_PAGE_SNOOPED);
					  RADEON_VM_PAGE_SNOOPED);

		radeon_bo_unreserve(rdev->ring_tmp_bo.bo);
		if (r) {
		if (r) {
			radeon_vm_fini(rdev, &fpriv->vm);
			radeon_vm_fini(rdev, &fpriv->vm);
			kfree(fpriv);
			kfree(fpriv);