drm/i915: Call i915_perf_fini() on init_hw error unwind
authorChris Wilson <chris@chris-wilson.co.uk>
Sat, 14 Apr 2018 09:12:33 +0000 (10:12 +0100)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Wed, 18 Apr 2018 11:17:18 +0000 (14:17 +0300)
commit4a0559ed99189f259e92ed34f60dd51688f1bc40
treece24ec5812c11b16a684004d5f45fdd5c5a6ff0f
parenta3520b8992e57bc94ab6ec9f95f09c6c932555fd
drm/i915: Call i915_perf_fini() on init_hw error unwind

We have to cleanup after i915_perf_init(), even on the error path, as it
passes a pointer into the module to the sysfs core. If we fail to
unregister the sysctl table, we leave a dangling pointer which then may
explode anytime later.

Fixes: 9f9b2792b6d3 ("drm/i915/perf: reuse timestamp frequency from device info")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180414091233.32224-1-chris@chris-wilson.co.uk
(cherry picked from commit 9f172f6fbd243759c808d97bd83c95e49325b2c9)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_drv.c