diff options
Diffstat (limited to 'sound/pci/au88x0')
-rw-r--r-- | sound/pci/au88x0/au88x0.c | 13 | ||||
-rw-r--r-- | sound/pci/au88x0/au88x0.h | 1 | ||||
-rw-r--r-- | sound/pci/au88x0/au88x0_pcm.c | 1 |
3 files changed, 9 insertions, 6 deletions
diff --git a/sound/pci/au88x0/au88x0.c b/sound/pci/au88x0/au88x0.c index 762bb108c51c..f13ad536b2d5 100644 --- a/sound/pci/au88x0/au88x0.c +++ b/sound/pci/au88x0/au88x0.c | |||
@@ -268,8 +268,14 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) | |||
268 | card->shortname, chip->io, chip->irq); | 268 | card->shortname, chip->io, chip->irq); |
269 | 269 | ||
270 | // (4) Alloc components. | 270 | // (4) Alloc components. |
271 | err = snd_vortex_mixer(chip); | ||
272 | if (err < 0) { | ||
273 | snd_card_free(card); | ||
274 | return err; | ||
275 | } | ||
271 | // ADB pcm. | 276 | // ADB pcm. |
272 | if ((err = snd_vortex_new_pcm(chip, VORTEX_PCM_ADB, NR_ADB)) < 0) { | 277 | err = snd_vortex_new_pcm(chip, VORTEX_PCM_ADB, NR_PCM); |
278 | if (err < 0) { | ||
273 | snd_card_free(card); | 279 | snd_card_free(card); |
274 | return err; | 280 | return err; |
275 | } | 281 | } |
@@ -299,11 +305,6 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) | |||
299 | return err; | 305 | return err; |
300 | } | 306 | } |
301 | #endif | 307 | #endif |
302 | // snd_ac97_mixer and Vortex mixer. | ||
303 | if ((err = snd_vortex_mixer(chip)) < 0) { | ||
304 | snd_card_free(card); | ||
305 | return err; | ||
306 | } | ||
307 | if ((err = snd_vortex_midi(chip)) < 0) { | 308 | if ((err = snd_vortex_midi(chip)) < 0) { |
308 | snd_card_free(card); | 309 | snd_card_free(card); |
309 | return err; | 310 | return err; |
diff --git a/sound/pci/au88x0/au88x0.h b/sound/pci/au88x0/au88x0.h index 02f6e08f7592..bb938153a964 100644 --- a/sound/pci/au88x0/au88x0.h +++ b/sound/pci/au88x0/au88x0.h | |||
@@ -105,6 +105,7 @@ | |||
105 | #define MIX_SPDIF(x) (vortex->mixspdif[x]) | 105 | #define MIX_SPDIF(x) (vortex->mixspdif[x]) |
106 | 106 | ||
107 | #define NR_WTPB 0x20 /* WT channels per each bank. */ | 107 | #define NR_WTPB 0x20 /* WT channels per each bank. */ |
108 | #define NR_PCM 0x10 | ||
108 | 109 | ||
109 | /* Structs */ | 110 | /* Structs */ |
110 | typedef struct { | 111 | typedef struct { |
diff --git a/sound/pci/au88x0/au88x0_pcm.c b/sound/pci/au88x0/au88x0_pcm.c index 0488633ea874..0ef2f9712208 100644 --- a/sound/pci/au88x0/au88x0_pcm.c +++ b/sound/pci/au88x0/au88x0_pcm.c | |||
@@ -168,6 +168,7 @@ static int snd_vortex_pcm_open(struct snd_pcm_substream *substream) | |||
168 | runtime->hw = snd_vortex_playback_hw_adb; | 168 | runtime->hw = snd_vortex_playback_hw_adb; |
169 | #ifdef CHIP_AU8830 | 169 | #ifdef CHIP_AU8830 |
170 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK && | 170 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK && |
171 | VORTEX_IS_QUAD(vortex) && | ||
171 | VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_ADB) { | 172 | VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_ADB) { |
172 | runtime->hw.channels_max = 4; | 173 | runtime->hw.channels_max = 4; |
173 | snd_pcm_hw_constraint_list(runtime, 0, | 174 | snd_pcm_hw_constraint_list(runtime, 0, |