drm: drm_fops.c unlock missing on error path
authorDan Carpenter <error27@gmail.com>
Fri, 27 Mar 2009 10:34:28 +0000 (13:34 +0300)
committerDave Airlie <airlied@redhat.com>
Sun, 29 Mar 2009 08:31:47 +0000 (18:31 +1000)
drm_open_helper() from drm_fops.c had a missing mutex_unlock in a error
path.

This was caught by smatch (http://repo.or.cz/w/smatch.git/).  Compile
tested.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_fops.c

index e13cb62..09a3571 100644 (file)
@@ -274,6 +274,7 @@ static int drm_open_helper(struct inode *inode, struct file *filp,
                /* create a new master */
                priv->minor->master = drm_master_create(priv->minor);
                if (!priv->minor->master) {
+                       mutex_unlock(&dev->struct_mutex);
                        ret = -ENOMEM;
                        goto out_free;
                }