aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>2016-03-04 16:36:10 +0200
committerMathieu Poirier <mathieu.poirier@linaro.org>2016-06-01 15:42:51 -0600
commit7c678b8584505e7005b99b4f09cca4496812d30c (patch)
tree246f099507fdb27775f023d4d17e0951e25d6830
parent5a4e9c9c9c37e7a907eccc9e112e9ecd1970b862 (diff)
stm class: Do not leak the chrdev in error path
Currently, the error path of stm_register_device() forgets to unregister the chrdev. Fix this. Reported-by: Alan Cox <alan.cox@intel.com> Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Reviewed-by: Laurent Fert <laurent.fert@intel.com> (cherry picked from commit cbe4a61d1ddc4790d950ca8c33ef79ee68ef5e2b)
-rw-r--r--drivers/hwtracing/stm/core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/hwtracing/stm/core.c b/drivers/hwtracing/stm/core.c
index a6c6b2d6a67b..0ffccfdd1017 100644
--- a/drivers/hwtracing/stm/core.c
+++ b/drivers/hwtracing/stm/core.c
@@ -688,6 +688,8 @@ int stm_register_device(struct device *parent, struct stm_data *stm_data,
return 0;
err_device:
+ unregister_chrdev(stm->major, stm_data->name);
+
/* matches device_initialize() above */
put_device(&stm->dev);
err_free: