mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 11:19:37 +00:00
drm/radeon: fix prime teardown order
We unmapped imported DMA-bufs when the GEM handle was dropped, not when the hardware was done with the buffere. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> CC: stable@vger.kernel.org Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
7f8fb91965
commit
0660b58c90
2 changed files with 2 additions and 2 deletions
|
@ -34,8 +34,6 @@ void radeon_gem_object_free(struct drm_gem_object *gobj)
|
||||||
struct radeon_bo *robj = gem_to_radeon_bo(gobj);
|
struct radeon_bo *robj = gem_to_radeon_bo(gobj);
|
||||||
|
|
||||||
if (robj) {
|
if (robj) {
|
||||||
if (robj->gem_base.import_attach)
|
|
||||||
drm_prime_gem_destroy(&robj->gem_base, robj->tbo.sg);
|
|
||||||
radeon_mn_unregister(robj);
|
radeon_mn_unregister(robj);
|
||||||
radeon_bo_unref(&robj);
|
radeon_bo_unref(&robj);
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,6 +82,8 @@ static void radeon_ttm_bo_destroy(struct ttm_buffer_object *tbo)
|
||||||
mutex_unlock(&bo->rdev->gem.mutex);
|
mutex_unlock(&bo->rdev->gem.mutex);
|
||||||
radeon_bo_clear_surface_reg(bo);
|
radeon_bo_clear_surface_reg(bo);
|
||||||
WARN_ON_ONCE(!list_empty(&bo->va));
|
WARN_ON_ONCE(!list_empty(&bo->va));
|
||||||
|
if (bo->gem_base.import_attach)
|
||||||
|
drm_prime_gem_destroy(&bo->gem_base, bo->tbo.sg);
|
||||||
drm_gem_object_release(&bo->gem_base);
|
drm_gem_object_release(&bo->gem_base);
|
||||||
kfree(bo);
|
kfree(bo);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue