summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2015-03-20 19:41:04 +0900
committerBen Skeggs <bskeggs@redhat.com>2015-04-14 17:00:51 +1000
commit25eb3a924f8589b5ad80e5d50d743befca8a46de (patch)
tree76243d7260637945a20981b773d68ccfd9f1709e
parented22e684622533f903dfad9beb99d872536c3040 (diff)
downloadlinux-stable-25eb3a924f8589b5ad80e5d50d743befca8a46de.tar.gz
linux-stable-25eb3a924f8589b5ad80e5d50d743befca8a46de.tar.bz2
linux-stable-25eb3a924f8589b5ad80e5d50d743befca8a46de.zip
drm/nouveau/platform: release IOMMU's mm upon exit
nvkm_mm_fini() was not called when exiting the driver, resulting in a memory leak. Fix this. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_platform.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_platform.c b/drivers/gpu/drm/nouveau/nouveau_platform.c
index 3691982452a9..f83aa12ee5c6 100644
--- a/drivers/gpu/drm/nouveau/nouveau_platform.c
+++ b/drivers/gpu/drm/nouveau/nouveau_platform.c
@@ -152,6 +152,7 @@ static void nouveau_platform_remove_iommu(struct device *dev,
struct nouveau_platform_gpu *gpu)
{
if (gpu->iommu.domain) {
+ nvkm_mm_fini(&gpu->iommu._mm);
iommu_detach_device(gpu->iommu.domain, dev);
iommu_domain_free(gpu->iommu.domain);
}