diff options
author | 2017-09-03 13:28:54 +0000 | |
---|---|---|
committer | 2017-09-03 13:28:54 +0000 | |
commit | 9e4f26515a2e91706e020df5f725816dbc99f42d (patch) | |
tree | 08b62ea6c6084315a128cade04398aca11d18369 | |
parent | Checking sizeof size_t by SIZE_MAX instead of _LP64 (diff) | |
download | wireguard-openbsd-9e4f26515a2e91706e020df5f725816dbc99f42d.tar.xz wireguard-openbsd-9e4f26515a2e91706e020df5f725816dbc99f42d.zip |
drm: Release driver tracking before making the object available again
From Chris Wilson
2a9d7664ffb2c223c488058ee6bee61512db9396 in linux-4.4.y/4.4.85
fe4600a548f2763dec91b3b27a1245c370ceee2a in mainline linux
-rw-r--r-- | sys/dev/pci/drm/drm_gem.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/pci/drm/drm_gem.c b/sys/dev/pci/drm/drm_gem.c index dadb5366099..ecf81f371e3 100644 --- a/sys/dev/pci/drm/drm_gem.c +++ b/sys/dev/pci/drm/drm_gem.c @@ -1,4 +1,4 @@ -/* $OpenBSD: drm_gem.c,v 1.4 2017/07/01 16:00:25 kettenis Exp $ */ +/* $OpenBSD: drm_gem.c,v 1.5 2017/09/03 13:28:54 jsg Exp $ */ /* * Copyright © 2008 Intel Corporation * @@ -829,13 +829,13 @@ drm_gem_object_release_handle(int id, void *ptr, void *data) struct drm_gem_object *obj = ptr; struct drm_device *dev = obj->dev; + if (dev->driver->gem_close_object) + dev->driver->gem_close_object(obj, file_priv); + if (drm_core_check_feature(dev, DRIVER_PRIME)) drm_gem_remove_prime_handles(obj, file_priv); drm_vma_node_revoke(&obj->vma_node, file_priv->filp); - if (dev->driver->gem_close_object) - dev->driver->gem_close_object(obj, file_priv); - drm_gem_object_handle_unreference_unlocked(obj); return 0; |