From: Alexander Shishkin Date: Fri, 24 Feb 2017 14:04:15 +0000 (+0200) Subject: intel_th: Don't leak module refcount on failure to activate X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=e609ccef5222c73b46b322be7d3796d60bff353d;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git intel_th: Don't leak module refcount on failure to activate Output 'activation' may fail for the reasons of the output driver, for example, if msc's buffer is not allocated. We forget, however, to drop the module reference in this case. So each attempt at activation in this case leaks a reference, preventing the module from ever unloading. This patch adds the missing module_put() in the activation error path. Signed-off-by: Alexander Shishkin Cc: stable@vger.kernel.org # v4.8+ --- diff --git a/drivers/hwtracing/intel_th/core.c b/drivers/hwtracing/intel_th/core.c index cdd9b3b26195..7563eceeaaea 100644 --- a/drivers/hwtracing/intel_th/core.c +++ b/drivers/hwtracing/intel_th/core.c @@ -221,8 +221,10 @@ static int intel_th_output_activate(struct intel_th_device *thdev) else intel_th_trace_enable(thdev); - if (ret) + if (ret) { pm_runtime_put(&thdev->dev); + module_put(thdrv->driver.owner); + } return ret; }