summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorJiri Slaby <jslaby@suse.cz>2010-04-27 23:11:03 +0200
committerDave Airlie <airlied@redhat.com>2010-04-28 10:41:52 +0200
commit8c88e50bcf7f9f7e1b4987aaac3dfacc3ac6bd24 (patch)
treec10e68f52a3fc35bf46ba24bf433d244934bbf5e /drivers/gpu
parentdrivers/gpu/drm/drm_memory.c: fix check for end of loop (diff)
downloadlinux-8c88e50bcf7f9f7e1b4987aaac3dfacc3ac6bd24.tar.xz
linux-8c88e50bcf7f9f7e1b4987aaac3dfacc3ac6bd24.zip
gpu: vga_switcheroo, fix lock imbalance
Stanse found that one error path in vga_switcheroo_debugfs_write omits to unlock vgasr_mutex. Fix that. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/vga/vga_switcheroo.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/vga/vga_switcheroo.c b/drivers/gpu/vga/vga_switcheroo.c
index d6d1149d525d..c8768f38511e 100644
--- a/drivers/gpu/vga/vga_switcheroo.c
+++ b/drivers/gpu/vga/vga_switcheroo.c
@@ -276,8 +276,10 @@ vga_switcheroo_debugfs_write(struct file *filp, const char __user *ubuf,
mutex_lock(&vgasr_mutex);
- if (!vgasr_priv.active)
- return -EINVAL;
+ if (!vgasr_priv.active) {
+ cnt = -EINVAL;
+ goto out;
+ }
/* pwr off the device not in use */
if (strncmp(usercmd, "OFF", 3) == 0) {