diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2015-08-24 08:27:37 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-09-21 01:44:51 -0400 |
commit | 5964db08767fb93376c0a0ddcf975fec1c0d1bd9 (patch) | |
tree | 3775375b032efd2b44891a8f5e558dd73e95ad24 | |
parent | a42fb351ca1f340f8307468be765e3f77ddedda9 (diff) |
mei: fix debugfs files leak on error path
if dbgfs_dir is not set then debugfs_remove_recursive
is not called on the error path
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/misc/mei/debugfs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/misc/mei/debugfs.c b/drivers/misc/mei/debugfs.c index 4b469cf9e60f..8504dbeacd3b 100644 --- a/drivers/misc/mei/debugfs.c +++ b/drivers/misc/mei/debugfs.c | |||
@@ -204,6 +204,8 @@ int mei_dbgfs_register(struct mei_device *dev, const char *name) | |||
204 | if (!dir) | 204 | if (!dir) |
205 | return -ENOMEM; | 205 | return -ENOMEM; |
206 | 206 | ||
207 | dev->dbgfs_dir = dir; | ||
208 | |||
207 | f = debugfs_create_file("meclients", S_IRUSR, dir, | 209 | f = debugfs_create_file("meclients", S_IRUSR, dir, |
208 | dev, &mei_dbgfs_fops_meclients); | 210 | dev, &mei_dbgfs_fops_meclients); |
209 | if (!f) { | 211 | if (!f) { |
@@ -228,7 +230,6 @@ int mei_dbgfs_register(struct mei_device *dev, const char *name) | |||
228 | dev_err(dev->dev, "allow_fixed_address: registration failed\n"); | 230 | dev_err(dev->dev, "allow_fixed_address: registration failed\n"); |
229 | goto err; | 231 | goto err; |
230 | } | 232 | } |
231 | dev->dbgfs_dir = dir; | ||
232 | return 0; | 233 | return 0; |
233 | err: | 234 | err: |
234 | mei_dbgfs_deregister(dev); | 235 | mei_dbgfs_deregister(dev); |