Currently, the error path of stm_register_device() forgets to unregister
the chrdev. Fix this.

Reported-by: Alan Cox <alan....@intel.com>
Signed-off-by: Alexander Shishkin <alexander.shish...@linux.intel.com>
Reviewed-by: Laurent Fert <laurent.f...@intel.com>
---
 drivers/hwtracing/stm/core.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/hwtracing/stm/core.c b/drivers/hwtracing/stm/core.c
index 18f176eac0..e55ed67142 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:
-- 
2.8.0.rc3

Reply via email to