Commit 06c12ae3 authored by Lionel Landwerlin's avatar Lionel Landwerlin Committed by Jani Nikula

drm/i915/perf: ensure we keep a reference on the driver

The i915 perf stream has its own file descriptor and is tied to
reference of the driver. We haven't taken care of keep the driver
alive.
Signed-off-by: default avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
Suggested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Fixes: eec688e1 ("drm/i915: Add i915 perf infrastructure")
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190709123351.5645-2-lionel.g.landwerlin@intel.com
(cherry picked from commit a5af1df7)
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent aa56a292
...@@ -2515,6 +2515,9 @@ static int i915_perf_release(struct inode *inode, struct file *file) ...@@ -2515,6 +2515,9 @@ static int i915_perf_release(struct inode *inode, struct file *file)
i915_perf_destroy_locked(stream); i915_perf_destroy_locked(stream);
mutex_unlock(&dev_priv->perf.lock); mutex_unlock(&dev_priv->perf.lock);
/* Release the reference the perf stream kept on the driver. */
drm_dev_put(&dev_priv->drm);
return 0; return 0;
} }
...@@ -2650,6 +2653,11 @@ i915_perf_open_ioctl_locked(struct drm_i915_private *dev_priv, ...@@ -2650,6 +2653,11 @@ i915_perf_open_ioctl_locked(struct drm_i915_private *dev_priv,
if (!(param->flags & I915_PERF_FLAG_DISABLED)) if (!(param->flags & I915_PERF_FLAG_DISABLED))
i915_perf_enable_locked(stream); i915_perf_enable_locked(stream);
/* Take a reference on the driver that will be kept with stream_fd
* until its release.
*/
drm_dev_get(&dev_priv->drm);
return stream_fd; return stream_fd;
err_open: err_open:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment