crypto: rockchip - use devm_add_action_or_reset()
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>
Tue, 23 Aug 2016 14:58:54 +0000 (20:28 +0530)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 24 Aug 2016 13:07:11 +0000 (21:07 +0800)
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>
drivers/crypto/rockchip/rk3288_crypto.c

index af50825..d0f80c6 100644 (file)
@@ -304,11 +304,9 @@ static int rk_crypto_probe(struct platform_device *pdev)
        usleep_range(10, 20);
        reset_control_deassert(crypto_info->rst);
 
-       err = devm_add_action(dev, rk_crypto_action, crypto_info);
-       if (err) {
-               reset_control_assert(crypto_info->rst);
+       err = devm_add_action_or_reset(dev, rk_crypto_action, crypto_info);
+       if (err)
                goto err_crypto;
-       }
 
        spin_lock_init(&crypto_info->lock);