Commit 470b5256 authored by Cai Huoqing's avatar Cai Huoqing Committed by Borislav Petkov
Browse files

EDAC/al_mc: Make use of the helper function devm_add_action_or_reset()



The helper function devm_add_action_or_reset() will internally call
devm_add_action(), and if devm_add_action() fails then it will
execute the action mentioned and return the error code. So use
devm_add_action_or_reset() instead of devm_add_action() to simplify the
error handling, reduce the code.

Signed-off-by: default avatarCai Huoqing <caihuoqing@baidu.com>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Acked-by: default avatarTalel Shenhar <talel@amazon.com>
Link: https://lkml.kernel.org/r/20210922125924.321-1-caihuoqing@baidu.com
parent fca61165
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -238,11 +238,9 @@ static int al_mc_edac_probe(struct platform_device *pdev)
	if (!mci)
		return -ENOMEM;

	ret = devm_add_action(&pdev->dev, devm_al_mc_edac_free, mci);
	if (ret) {
		edac_mc_free(mci);
	ret = devm_add_action_or_reset(&pdev->dev, devm_al_mc_edac_free, mci);
	if (ret)
		return ret;
	}

	platform_set_drvdata(pdev, mci);
	al_mc = mci->pvt_info;
@@ -293,11 +291,9 @@ static int al_mc_edac_probe(struct platform_device *pdev)
		return ret;
	}

	ret = devm_add_action(&pdev->dev, devm_al_mc_edac_del, &pdev->dev);
	if (ret) {
		edac_mc_del_mc(&pdev->dev);
	ret = devm_add_action_or_reset(&pdev->dev, devm_al_mc_edac_del, &pdev->dev);
	if (ret)
		return ret;
	}

	if (al_mc->irq_ue > 0) {
		ret = devm_request_irq(&pdev->dev,