[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170314113242.2249-2-alexander.shishkin@linux.intel.com>
Date: Tue, 14 Mar 2017 13:32:40 +0200
From: Alexander Shishkin <alexander.shishkin@...ux.intel.com>
To: Greg KH <greg@...ah.com>
Cc: Mathieu Poirier <mathieu.poirier@...aro.org>,
Chunyan Zhang <zhang.chunyan@...aro.org>,
laurent.fert@...el.com, linux-kernel@...r.kernel.org,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
stable@...r.kernel.org#v4.8+
Subject: [QUEUED v20170314 1/3] intel_th: msu: 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 <alexander.shishkin@...ux.intel.com>
Cc: stable@...r.kernel.org # v4.8+
---
drivers/hwtracing/intel_th/core.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/hwtracing/intel_th/core.c b/drivers/hwtracing/intel_th/core.c
index cdd9b3b261..7563eceeaa 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;
}
--
2.11.0
Powered by blists - more mailing lists