summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2015-06-23 12:33:47 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-06-23 12:33:47 +0200
commitd15d1fff7ae3b030ec863a1bf2e1c06d5d10a801 (patch)
tree92598f7635b43c3ebf52c7c57494cd64d4dc47dd
parentc2b9fe774cff76f8fa013c2064d7a3d62012d23a (diff)
fixup fbdev helpersdrm_for_each
-rw-r--r--drivers/gpu/drm/drm_fb_helper.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 3630d92c9738..33803db0281a 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -98,16 +98,20 @@ int drm_fb_helper_single_add_all_connectors(struct drm_fb_helper *fb_helper)
struct drm_connector *connector;
int i;
+ mutex_lock(&dev->mode_config.mutex);
drm_for_each_connector(connector, dev) {
struct drm_fb_helper_connector *fb_helper_connector;
fb_helper_connector = kzalloc(sizeof(struct drm_fb_helper_connector), GFP_KERNEL);
- if (!fb_helper_connector)
+ if (!fb_helper_connector) {
+ mutex_unlock(&dev->mode_config.mutex);
goto fail;
+ }
fb_helper_connector->connector = connector;
fb_helper->connector_info[fb_helper->connector_count++] = fb_helper_connector;
}
+ mutex_unlock(&dev->mode_config.mutex);
return 0;
fail:
for (i = 0; i < fb_helper->connector_count; i++) {