]> git.baikalelectronics.ru Git - kernel.git/commit
drm/nouveau: Fix ordering between TTM and GEM release
authorThierry Reding <treding@nvidia.com>
Mon, 16 Sep 2019 14:19:25 +0000 (16:19 +0200)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 17 Sep 2019 04:50:16 +0000 (14:50 +1000)
commit36e26108bf217428531e499a97b49f6e76f30d3b
treebf3a033bc07e7d512dab9bf5e7fb2e5492ae0edf
parente9723678fccd98578c61871d25550f9e99fce487
drm/nouveau: Fix ordering between TTM and GEM release

When the last reference to a TTM BO is dropped, ttm_bo_release() will
acquire the DMA reservation object's wound/wait mutex while trying to
clean up (ttm_bo_cleanup_refs_or_queue() via ttm_bo_release()). It is
therefore essential that drm_gem_object_release() be called after the
TTM BO has been uninitialized, otherwise drm_gem_object_release() has
already destroyed the wound/wait mutex (via dma_resv_fini()).

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_bo.c
drivers/gpu/drm/nouveau/nouveau_gem.c