drm/i915: Drop rpm wakeref on error in debugfs/i915_drop_caches_set
authorJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Thu, 18 Oct 2018 09:20:25 +0000 (12:20 +0300)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Thu, 18 Oct 2018 15:19:33 +0000 (18:19 +0300)
Use single exit point to drop rpm wakeref in case of an error.

Fixes: 9d3eb2c33f03 ("drm/i915: Hold rpm wakeref for debugfs/i915_drop_caches_set")
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20181018092025.24076-1-joonas.lahtinen@linux.intel.com
drivers/gpu/drm/i915/i915_debugfs.c

index 2e01159f365dbb67efea5e2c0c38a993bd2a5a78..5b37d5f8e132391226e8396f62afb4ca4775b79d 100644 (file)
@@ -4197,7 +4197,7 @@ i915_drop_caches_set(void *data, u64 val)
        if (val & (DROP_ACTIVE | DROP_RETIRE | DROP_RESET_SEQNO)) {
                ret = mutex_lock_interruptible(&i915->drm.struct_mutex);
                if (ret)
-                       return ret;
+                       goto out;
 
                if (val & DROP_ACTIVE)
                        ret = i915_gem_wait_for_idle(i915,
@@ -4244,6 +4244,7 @@ i915_drop_caches_set(void *data, u64 val)
        if (val & DROP_FREED)
                i915_gem_drain_freed_objects(i915);
 
+out:
        intel_runtime_pm_put(i915);
 
        return ret;