提交 a5af1df7 编写于 作者: L Lionel Landwerlin 提交者: Chris Wilson

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: NLionel Landwerlin <lionel.g.landwerlin@intel.com>
Suggested-by: NChris Wilson <chris@chris-wilson.co.uk>
Fixes: eec688e1 ("drm/i915: Add i915 perf infrastructure")
Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190709123351.5645-2-lionel.g.landwerlin@intel.com
上级 681c774d
......@@ -2517,6 +2517,9 @@ static int i915_perf_release(struct inode *inode, struct file *file)
i915_perf_destroy_locked(stream);
mutex_unlock(&dev_priv->perf.lock);
/* Release the reference the perf stream kept on the driver. */
drm_dev_put(&dev_priv->drm);
return 0;
}
......@@ -2652,6 +2655,11 @@ i915_perf_open_ioctl_locked(struct drm_i915_private *dev_priv,
if (!(param->flags & I915_PERF_FLAG_DISABLED))
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;
err_open:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册