Skip to content

Commit

Permalink
drm/i915: simplify context_idr_cleanup
Browse files Browse the repository at this point in the history
The idr code already passes us the pointer associated with that id, so
no need to look it up again. Also, we'll kill the idr right away, so
there's no issue with leaving these dangling pointers behind - the
current code does the same.

v2: Also drop the file argument, spotted by Ben Widawsky.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
Daniel Vetter committed Jun 20, 2012
1 parent 6f4c45c commit 73c273e
Showing 1 changed file with 2 additions and 7 deletions.
9 changes: 2 additions & 7 deletions drivers/gpu/drm/i915/i915_gem_context.c
Original file line number Diff line number Diff line change
Expand Up @@ -289,14 +289,9 @@ void i915_gem_context_fini(struct drm_device *dev)

static int context_idr_cleanup(int id, void *p, void *data)
{
struct drm_file *file = (struct drm_file *)data;
struct drm_i915_file_private *file_priv = file->driver_priv;
struct i915_hw_context *ctx;
struct i915_hw_context *ctx = p;

BUG_ON(id == DEFAULT_CONTEXT_ID);
ctx = i915_gem_context_get(file_priv, id);
if (WARN_ON(ctx == NULL))
return -ENXIO;

do_destroy(ctx);

Expand All @@ -308,7 +303,7 @@ void i915_gem_context_close(struct drm_device *dev, struct drm_file *file)
struct drm_i915_file_private *file_priv = file->driver_priv;

mutex_lock(&dev->struct_mutex);
idr_for_each(&file_priv->context_idr, context_idr_cleanup, file);
idr_for_each(&file_priv->context_idr, context_idr_cleanup, NULL);
idr_destroy(&file_priv->context_idr);
mutex_unlock(&dev->struct_mutex);
}
Expand Down

0 comments on commit 73c273e

Please sign in to comment.