aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dax/dax.c
diff options
context:
space:
mode:
authorSajjan, Vikas C <vikas.cha.sajjan@hpe.com>2016-07-05 11:20:07 +0530
committerDan Williams <dan.j.williams@intel.com>2016-07-06 15:14:48 -0700
commitd1c8e0c521c111f387a17096a17e49af5dea4aa9 (patch)
tree7d3f5797f39d45a2bbe7ca33fc4e8d444717787a /drivers/dax/dax.c
parentnfit: use devm_add_action_or_reset() (diff)
downloadlinux-dev-d1c8e0c521c111f387a17096a17e49af5dea4aa9.tar.xz
linux-dev-d1c8e0c521c111f387a17096a17e49af5dea4aa9.zip
dax: use devm_add_action_or_reset()
If devm_add_action() fails, we are explicitly calling the cleanup to free the resources allocated. Use the helper devm_add_action_or_reset() and return directly in case of error, since the cleanup function has been already called by the helper if there was any error. Reported-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com> Signed-off-by: Vikas C Sajjan <vikas.cha.sajjan@hpe.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dax/dax.c')
-rw-r--r--drivers/dax/dax.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/dax/dax.c b/drivers/dax/dax.c
index b891a129b275..803f3953b341 100644
--- a/drivers/dax/dax.c
+++ b/drivers/dax/dax.c
@@ -211,11 +211,9 @@ int devm_create_dax_dev(struct dax_region *dax_region, struct resource *res,
}
dax_dev->dev = dev;
- rc = devm_add_action(dax_region->dev, unregister_dax_dev, dev);
- if (rc) {
- unregister_dax_dev(dev);
+ rc = devm_add_action_or_reset(dax_region->dev, unregister_dax_dev, dev);
+ if (rc)
return rc;
- }
return 0;