aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/drm_sysfs.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c
index 85da4c40694c..2eee8e016b38 100644
--- a/drivers/gpu/drm/drm_sysfs.c
+++ b/drivers/gpu/drm/drm_sysfs.c
@@ -158,8 +158,15 @@ static ssize_t status_show(struct device *device,
158{ 158{
159 struct drm_connector *connector = to_drm_connector(device); 159 struct drm_connector *connector = to_drm_connector(device);
160 enum drm_connector_status status; 160 enum drm_connector_status status;
161 int ret;
162
163 ret = mutex_lock_interruptible(&connector->dev->mode_config.mutex);
164 if (ret)
165 return ret;
161 166
162 status = connector->funcs->detect(connector, true); 167 status = connector->funcs->detect(connector, true);
168 mutex_unlock(&connector->dev->mode_config.mutex);
169
163 return snprintf(buf, PAGE_SIZE, "%s\n", 170 return snprintf(buf, PAGE_SIZE, "%s\n",
164 drm_get_connector_status_name(status)); 171 drm_get_connector_status_name(status));
165} 172}