[PATCH] drm/radeon: fix missing bo reservation

Dieter Nützel Dieter at nuetzel-hh.de
Fri Feb 21 13:26:31 PST 2014


Alex,

shouldn't you send a pull request, that this land in 3.14-rc4?
Just in case...

Thanks,
   Dieter

Am 20.02.2014 18:47, schrieb Christian König:
> From: Christian König <christian.koenig at amd.com>
> 
> Otherwise we might get a crash here.
> 
> Signed-off-by: Christian König <christian.koenig at amd.com>
> Cc: stable at vger.kernel.org
> ---
>  drivers/gpu/drm/radeon/radeon_kms.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/radeon/radeon_kms.c
> b/drivers/gpu/drm/radeon/radeon_kms.c
> index 114d167..2aecd6d 100644
> --- a/drivers/gpu/drm/radeon/radeon_kms.c
> +++ b/drivers/gpu/drm/radeon/radeon_kms.c
> @@ -537,6 +537,10 @@ int radeon_driver_open_kms(struct drm_device
> *dev, struct drm_file *file_priv)
> 
>  		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
>  		 * virtual address space */
>  		bo_va = radeon_vm_bo_add(rdev, &fpriv->vm,
> @@ -544,6 +548,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,
>  					  RADEON_VM_PAGE_READABLE |
>  					  RADEON_VM_PAGE_SNOOPED);
> +
> +		radeon_bo_unreserve(rdev->ring_tmp_bo.bo);
>  		if (r) {
>  			radeon_vm_fini(rdev, &fpriv->vm);
>  			kfree(fpriv);


More information about the dri-devel mailing list