aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/gpu/drm/msm/msm_perf.c
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>2022-01-18 10:54:02 +0000
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>2022-01-18 10:54:02 +0000
commit647bfd26bf054313305ea9c2c4a1c71f3bbfee63 (patch)
tree49abfde459ef32c9811d06ae59dfbaf0000762ab /drivers/gpu/drm/msm/msm_perf.c
parenti915: make array flex_regs static const (diff)
parentMerge tag 'amd-drm-next-5.17-2022-01-12' of https://gitlab.freedesktop.org/agd5f/linux into drm-next (diff)
downloadwireguard-linux-647bfd26bf054313305ea9c2c4a1c71f3bbfee63.tar.xz
wireguard-linux-647bfd26bf054313305ea9c2c4a1c71f3bbfee63.zip
Merge drm/drm-next into drm-intel-gt-next
Maarten needs backmerge to account for header file renames/changes which landed via drm-intel-next and are interfering with his pinning work. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_perf.c')
-rw-r--r--drivers/gpu/drm/msm/msm_perf.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/msm/msm_perf.c b/drivers/gpu/drm/msm/msm_perf.c
index 3a27153eef08..3d3da79fec2a 100644
--- a/drivers/gpu/drm/msm/msm_perf.c
+++ b/drivers/gpu/drm/msm/msm_perf.c
@@ -155,9 +155,12 @@ static int perf_open(struct inode *inode, struct file *file)
struct msm_gpu *gpu = priv->gpu;
int ret = 0;
- mutex_lock(&dev->struct_mutex);
+ if (!gpu)
+ return -ENODEV;
- if (perf->open || !gpu) {
+ mutex_lock(&gpu->lock);
+
+ if (perf->open) {
ret = -EBUSY;
goto out;
}
@@ -171,7 +174,7 @@ static int perf_open(struct inode *inode, struct file *file)
perf->next_jiffies = jiffies + SAMPLE_TIME;
out:
- mutex_unlock(&dev->struct_mutex);
+ mutex_unlock(&gpu->lock);
return ret;
}