We have been returning success even if snd_soc_card_jack_new() fails.
Lets check the return value and return error if it fails.

Fixes: 12cc6d1dca4d ("ASoC: tegra_alc5632: Register jacks at the card level")
Signed-off-by: Sudip Mukherjee <[email protected]>
---
 sound/soc/tegra/tegra_alc5632.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/sound/soc/tegra/tegra_alc5632.c b/sound/soc/tegra/tegra_alc5632.c
index ba272e2..deb597f 100644
--- a/sound/soc/tegra/tegra_alc5632.c
+++ b/sound/soc/tegra/tegra_alc5632.c
@@ -101,12 +101,16 @@ static const struct snd_kcontrol_new 
tegra_alc5632_controls[] = {
 
 static int tegra_alc5632_asoc_init(struct snd_soc_pcm_runtime *rtd)
 {
+       int ret;
        struct tegra_alc5632 *machine = snd_soc_card_get_drvdata(rtd->card);
 
-       snd_soc_card_jack_new(rtd->card, "Headset Jack", SND_JACK_HEADSET,
-                             &tegra_alc5632_hs_jack,
-                             tegra_alc5632_hs_jack_pins,
-                             ARRAY_SIZE(tegra_alc5632_hs_jack_pins));
+       ret = snd_soc_card_jack_new(rtd->card, "Headset Jack",
+                                   SND_JACK_HEADSET,
+                                   &tegra_alc5632_hs_jack,
+                                   tegra_alc5632_hs_jack_pins,
+                                   ARRAY_SIZE(tegra_alc5632_hs_jack_pins));
+       if (ret)
+               return ret;
 
        if (gpio_is_valid(machine->gpio_hp_det)) {
                tegra_alc5632_hp_jack_gpio.gpio = machine->gpio_hp_det;
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to