ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio option
authorScott Bahling <sbahling@suse.com>
Mon, 18 May 2020 17:57:28 +0000 (19:57 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 18 May 2020 17:58:07 +0000 (19:58 +0200)
The ST Audio ADCIII is an STDSP24 card plus extension box. With commit
e8a91ae18bdc ("ALSA: ice1712: Add support for STAudio ADCIII") we
enabled the ADCIII ports using the model=staudio option but forgot
this part to ensure the STDSP24 card is initialized properly.

Fixes: e8a91ae18bdc ("ALSA: ice1712: Add support for STAudio ADCIII")
Signed-off-by: Scott Bahling <sbahling@suse.com>
Cc: <stable@vger.kernel.org>
BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1048934
Link: https://lore.kernel.org/r/20200518175728.28766-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/ice1712/ice1712.c

index 884d0cd..73e1e54 100644 (file)
@@ -2332,7 +2332,8 @@ static int snd_ice1712_chip_init(struct snd_ice1712 *ice)
        pci_write_config_byte(ice->pci, 0x61, ice->eeprom.data[ICE_EEP1_ACLINK]);
        pci_write_config_byte(ice->pci, 0x62, ice->eeprom.data[ICE_EEP1_I2SID]);
        pci_write_config_byte(ice->pci, 0x63, ice->eeprom.data[ICE_EEP1_SPDIF]);
-       if (ice->eeprom.subvendor != ICE1712_SUBDEVICE_STDSP24) {
+       if (ice->eeprom.subvendor != ICE1712_SUBDEVICE_STDSP24 &&
+           ice->eeprom.subvendor != ICE1712_SUBDEVICE_STAUDIO_ADCIII) {
                ice->gpio.write_mask = ice->eeprom.gpiomask;
                ice->gpio.direction = ice->eeprom.gpiodir;
                snd_ice1712_write(ice, ICE1712_IREG_GPIO_WRITE_MASK,