diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c index 10eeb307700c..707f85825996 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | |||
@@ -253,10 +253,8 @@ int amdgpu_gart_init(struct amdgpu_device *adev) | |||
253 | #ifdef CONFIG_DRM_AMDGPU_GART_DEBUGFS | 253 | #ifdef CONFIG_DRM_AMDGPU_GART_DEBUGFS |
254 | /* Allocate pages table */ | 254 | /* Allocate pages table */ |
255 | adev->gart.pages = vzalloc(sizeof(void *) * adev->gart.num_cpu_pages); | 255 | adev->gart.pages = vzalloc(sizeof(void *) * adev->gart.num_cpu_pages); |
256 | if (adev->gart.pages == NULL) { | 256 | if (adev->gart.pages == NULL) |
257 | amdgpu_gart_fini(adev); | ||
258 | return -ENOMEM; | 257 | return -ENOMEM; |
259 | } | ||
260 | #endif | 258 | #endif |
261 | 259 | ||
262 | return 0; | 260 | return 0; |
@@ -271,11 +269,6 @@ int amdgpu_gart_init(struct amdgpu_device *adev) | |||
271 | */ | 269 | */ |
272 | void amdgpu_gart_fini(struct amdgpu_device *adev) | 270 | void amdgpu_gart_fini(struct amdgpu_device *adev) |
273 | { | 271 | { |
274 | if (adev->gart.ready) { | ||
275 | /* unbind pages */ | ||
276 | amdgpu_gart_unbind(adev, 0, adev->gart.num_cpu_pages); | ||
277 | } | ||
278 | adev->gart.ready = false; | ||
279 | #ifdef CONFIG_DRM_AMDGPU_GART_DEBUGFS | 272 | #ifdef CONFIG_DRM_AMDGPU_GART_DEBUGFS |
280 | vfree(adev->gart.pages); | 273 | vfree(adev->gart.pages); |
281 | adev->gart.pages = NULL; | 274 | adev->gart.pages = NULL; |