ASoC: mediatek: mt8183: move card registration to the end of probe
authorTzung-Bi Shih <tzungbi@google.com>
Wed, 22 May 2019 14:54:02 +0000 (22:54 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 23 May 2019 13:34:43 +0000 (14:34 +0100)
mt8183_mt6358_ts3a227_max98357_dev_probe() does not return immediately
if devm_snd_soc_register_card() returns fail.  As a result, the rest of
code still get executed.

Two options to fix:
1. add an extra return statement if devm_snd_soc_register_card()
   returns fail
2. move devm_snd_soc_register_card() to the end of probe

Adopt option 2 which is more clear and common.

Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/mediatek/mt8183/mt8183-mt6358-ts3a227-max98357.c

index 1ba7aa58e4b6ce8c561a7028820b55716c418175..23c422f138085e9b0f6d6c26a07c788e118fc9eb 100644 (file)
@@ -331,7 +331,7 @@ mt8183_mt6358_ts3a227_max98357_dev_probe(struct platform_device *pdev)
        struct device_node *platform_node;
        struct snd_soc_dai_link *dai_link;
        struct pinctrl *default_pins;
-       int ret, i;
+       int i;
 
        card->dev = &pdev->dev;
 
@@ -366,11 +366,6 @@ mt8183_mt6358_ts3a227_max98357_dev_probe(struct platform_device *pdev)
                return -EINVAL;
        }
 
-       ret = devm_snd_soc_register_card(&pdev->dev, card);
-       if (ret)
-               dev_err(&pdev->dev, "%s snd_soc_register_card fail %d\n",
-                       __func__, ret);
-
        default_pins =
                devm_pinctrl_get_select(&pdev->dev, PINCTRL_STATE_DEFAULT);
        if (IS_ERR(default_pins)) {
@@ -379,7 +374,7 @@ mt8183_mt6358_ts3a227_max98357_dev_probe(struct platform_device *pdev)
                return PTR_ERR(default_pins);
        }
 
-       return ret;
+       return devm_snd_soc_register_card(&pdev->dev, card);
 }
 
 #ifdef CONFIG_OF