mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-22 13:37:49 +07:00
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: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
Fixes: eec688e142
("drm/i915: Add i915 perf infrastructure")
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190709123351.5645-2-lionel.g.landwerlin@intel.com
This commit is contained in:
parent
681c774d34
commit
a5af1df716
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user