diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c
index 2187383cdfd67299e305c5dfc9230cbec5b094e2..404c120991bf38e60662c937de9764883f19a110 100644
--- a/sound/pci/hda/patch_cirrus.c
+++ b/sound/pci/hda/patch_cirrus.c
@@ -471,12 +471,9 @@ static int parse_digital_input(struct hda_codec *codec)
 	struct auto_pin_cfg *cfg = &spec->autocfg;
 	int idx;
 
-	if (!cfg->dig_in_pin)
-		return 0;
-	spec->dig_in = get_adc(codec, cfg->dig_in_pin, &idx);
-	if (!spec->dig_in)
-		return 0;
-	return snd_hda_create_spdif_in_ctls(codec, spec->dig_in);
+	if (cfg->dig_in_pin)
+		spec->dig_in = get_adc(codec, cfg->dig_in_pin, &idx);
+	return 0;
 }
 
 /*