diff --git a/sound/soc/soc-jack.c b/sound/soc/soc-jack.c
index 70a9bdd5f3e3684278f44acacab8a24f1ef13ee3..87ca9806f3ee88fdd05617f840b0e9ff57ce34a8 100644
--- a/sound/soc/soc-jack.c
+++ b/sound/soc/soc-jack.c
@@ -197,6 +197,7 @@ int snd_soc_jack_add_pins(struct snd_soc_jack *jack, int count,
 
 		INIT_LIST_HEAD(&pins[i].list);
 		list_add(&(pins[i].list), &jack->pins);
+		snd_jack_add_new_kctl(jack->jack, pins[i].pin, pins[i].mask);
 	}
 
 	/* Update to reflect the last reported status; canned jack