aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>2016-08-23 10:58:54 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2016-08-24 09:07:11 -0400
commit16d56963e832339fc2dff6a4afce14138fb61932 (patch)
tree283c63ff4fec92a15978458bee11185027f8424e
parente09287dfef280dbe9f9aa1faa7a125957e9b7fbb (diff)
crypto: rockchip - use devm_add_action_or_reset()
If devm_add_action() fails we are explicitly calling the cleanup to free the resources allocated. Lets use the helper devm_add_action_or_reset() and return directly in case of error, as we know that the cleanup function has been already called by the helper if there was any error. Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk> Reviewed-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--drivers/crypto/rockchip/rk3288_crypto.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/crypto/rockchip/rk3288_crypto.c b/drivers/crypto/rockchip/rk3288_crypto.c
index af508258d2ea..d0f80c6241f9 100644
--- a/drivers/crypto/rockchip/rk3288_crypto.c
+++ b/drivers/crypto/rockchip/rk3288_crypto.c
@@ -304,11 +304,9 @@ static int rk_crypto_probe(struct platform_device *pdev)
304 usleep_range(10, 20); 304 usleep_range(10, 20);
305 reset_control_deassert(crypto_info->rst); 305 reset_control_deassert(crypto_info->rst);
306 306
307 err = devm_add_action(dev, rk_crypto_action, crypto_info); 307 err = devm_add_action_or_reset(dev, rk_crypto_action, crypto_info);
308 if (err) { 308 if (err)
309 reset_control_assert(crypto_info->rst);
310 goto err_crypto; 309 goto err_crypto;
311 }
312 310
313 spin_lock_init(&crypto_info->lock); 311 spin_lock_init(&crypto_info->lock);
314 312