.. | .. |
---|
175 | 175 | } |
---|
176 | 176 | EXPORT_SYMBOL(drm_gem_private_object_init); |
---|
177 | 177 | |
---|
178 | | -static void |
---|
179 | | -drm_gem_remove_prime_handles(struct drm_gem_object *obj, struct drm_file *filp) |
---|
180 | | -{ |
---|
181 | | - /* |
---|
182 | | - * Note: obj->dma_buf can't disappear as long as we still hold a |
---|
183 | | - * handle reference in obj->handle_count. |
---|
184 | | - */ |
---|
185 | | - mutex_lock(&filp->prime.lock); |
---|
186 | | - if (obj->dma_buf) { |
---|
187 | | - drm_prime_remove_buf_handle_locked(&filp->prime, |
---|
188 | | - obj->dma_buf); |
---|
189 | | - } |
---|
190 | | - mutex_unlock(&filp->prime.lock); |
---|
191 | | -} |
---|
192 | | - |
---|
193 | 178 | /** |
---|
194 | 179 | * drm_gem_object_handle_free - release resources bound to userspace handles |
---|
195 | 180 | * @obj: GEM object to clean up. |
---|
.. | .. |
---|
262 | 247 | dev->driver->gem_close_object(obj, file_priv); |
---|
263 | 248 | |
---|
264 | 249 | if (drm_core_check_feature(dev, DRIVER_PRIME)) |
---|
265 | | - drm_gem_remove_prime_handles(obj, file_priv); |
---|
| 250 | + drm_prime_remove_buf_handle(&file_priv->prime, id); |
---|
266 | 251 | drm_vma_node_revoke(&obj->vma_node, file_priv); |
---|
267 | 252 | |
---|
268 | 253 | drm_gem_object_handle_put_unlocked(obj); |
---|