[alsa-devel] ALSA: hda - Use generic parser for Cirrus codec driver
Dan Carpenter
dan.carpenter at oracle.com
Fri Jul 24 18:12:28 CEST 2015
Hello Takashi Iwai,
The patch 1077a024812d: "ALSA: hda - Use generic parser for Cirrus
codec driver" from Dec 19, 2012, leads to the following static
checker warning:
sound/pci/hda/patch_cirrus.c:1004 cs4210_spdif_automute()
warn: we tested 'spdif_present' before and it was 'true'
sound/pci/hda/patch_cirrus.c
984 static void cs4210_spdif_automute(struct hda_codec *codec,
985 struct hda_jack_callback *tbl)
986 {
987 struct cs_spec *spec = codec->spec;
988 bool spdif_present = false;
989 hda_nid_t spdif_pin = spec->gen.autocfg.dig_out_pins[0];
990
991 /* detect on spdif is specific to CS4210 */
992 if (!spec->spdif_detect ||
993 spec->vendor_nid != CS4210_VENDOR_NID)
994 return;
995
996 spdif_present = snd_hda_jack_detect(codec, spdif_pin);
997 if (spdif_present == spec->spdif_present)
998 return;
999
1000 spec->spdif_present = spdif_present;
1001 /* SPDIF TX on/off */
1002 if (spdif_present)
^^^^^^^^^^^^^
1003 snd_hda_set_pin_ctl(codec, spdif_pin,
1004 spdif_present ? PIN_OUT : 0);
^^^^^^^^^^^^^
I'm not positive but I think this is buggy. We should remove the if
statement.
1005
1006 cs_automute(codec);
1007 }
regards,
dan carpenter
More information about the Alsa-devel
mailing list