diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-02-06 11:55:20 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-02-19 21:21:09 -0500 |
commit | a198bc80ae59cf7c6da93bc8bd017b2198148ed7 (patch) | |
tree | 2c0affd1346a94745caa81ab23c99750f08d1819 /drivers/gpu | |
parent | 3e49c4f4cf786b70bbc369b99e590de4bebac1b3 (diff) |
drm/i915: Cleanup trivial leak on execbuffer error path.
Also spotted by Owain Ainsworth.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 818576654092..b79ced8f3c61 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -2480,13 +2480,15 @@ i915_gem_execbuffer(struct drm_device *dev, void *data, | |||
2480 | if (dev_priv->mm.wedged) { | 2480 | if (dev_priv->mm.wedged) { |
2481 | DRM_ERROR("Execbuf while wedged\n"); | 2481 | DRM_ERROR("Execbuf while wedged\n"); |
2482 | mutex_unlock(&dev->struct_mutex); | 2482 | mutex_unlock(&dev->struct_mutex); |
2483 | return -EIO; | 2483 | ret = -EIO; |
2484 | goto pre_mutex_err; | ||
2484 | } | 2485 | } |
2485 | 2486 | ||
2486 | if (dev_priv->mm.suspended) { | 2487 | if (dev_priv->mm.suspended) { |
2487 | DRM_ERROR("Execbuf while VT-switched.\n"); | 2488 | DRM_ERROR("Execbuf while VT-switched.\n"); |
2488 | mutex_unlock(&dev->struct_mutex); | 2489 | mutex_unlock(&dev->struct_mutex); |
2489 | return -EBUSY; | 2490 | ret = -EBUSY; |
2491 | goto pre_mutex_err; | ||
2490 | } | 2492 | } |
2491 | 2493 | ||
2492 | /* Look up object handles */ | 2494 | /* Look up object handles */ |