diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 9cd87e47ee8f8e9b3806faab5d2f9fdb626b2703..656cb5cd9cd8ab70d37acf85a98c21bb83f44b8e 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -3704,6 +3704,8 @@ snd_soc_dapm_new_control_unlocked(struct snd_soc_dapm_context *dapm,
 		dev_err(dapm->dev, "ASoC: Failed to request %s: %d\n",
 			w->name, ret);
 
+	kfree_const(w->sname);
+	kfree(w);
 	return ERR_PTR(ret);
 }