aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-03-13 17:39:54 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-13 17:39:54 -0500
commit461d208cfbd1f0af26027b2c35ded515e54b1ee6 (patch)
tree30384817c1567db054e499c1ed964b37c7c76a2a /sound
parent9fdfbc2bff587f454dd95e2caa6d147c9abe39e4 (diff)
parent0e49887703015dd73667664c5abc9a6366641da9 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Sound MSI fallout on a Asus mobo NVIDIA MCP55 sound: fix opti92x-ad1848 build ALSA: hda - Fix input source elements of secondary ADCs on Realtek ALSA: hda - Fix wrong model range check for ALC268
Diffstat (limited to 'sound')
-rw-r--r--sound/isa/opti9xx/opti92x-ad1848.c3
-rw-r--r--sound/pci/hda/hda_intel.c1
-rw-r--r--sound/pci/hda/patch_realtek.c8
3 files changed, 10 insertions, 2 deletions
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
index becd90d7536d..4d2d0405bdc7 100644
--- a/sound/isa/opti9xx/opti92x-ad1848.c
+++ b/sound/isa/opti9xx/opti92x-ad1848.c
@@ -217,8 +217,9 @@ static int __devinit snd_opti9xx_init(struct snd_opti9xx *chip,
217 if (isapnp && chip->mc_base) 217 if (isapnp && chip->mc_base)
218 /* PnP resource gives the least 10 bits */ 218 /* PnP resource gives the least 10 bits */
219 chip->mc_base |= 0xc00; 219 chip->mc_base |= 0xc00;
220 else
220#endif /* CONFIG_PNP */ 221#endif /* CONFIG_PNP */
221 else { 222 {
222 chip->mc_base = 0xf8c; 223 chip->mc_base = 0xf8c;
223 chip->mc_base_size = opti9xx_mc_size[hardware]; 224 chip->mc_base_size = opti9xx_mc_size[hardware];
224 } 225 }
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 43b7cfb7cffd..da1ac9068aac 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2358,6 +2358,7 @@ static void __devinit check_probe_mask(struct azx *chip, int dev)
2358static struct snd_pci_quirk msi_black_list[] __devinitdata = { 2358static struct snd_pci_quirk msi_black_list[] __devinitdata = {
2359 SND_PCI_QUIRK(0x1043, 0x81f2, "ASUS", 0), /* Athlon64 X2 + nvidia */ 2359 SND_PCI_QUIRK(0x1043, 0x81f2, "ASUS", 0), /* Athlon64 X2 + nvidia */
2360 SND_PCI_QUIRK(0x1043, 0x81f6, "ASUS", 0), /* nvidia */ 2360 SND_PCI_QUIRK(0x1043, 0x81f6, "ASUS", 0), /* nvidia */
2361 SND_PCI_QUIRK(0x1043, 0x822d, "ASUS", 0), /* Athlon64 X2 + nvidia MCP55 */
2361 SND_PCI_QUIRK(0x1849, 0x0888, "ASRock", 0), /* Athlon64 X2 + nvidia */ 2362 SND_PCI_QUIRK(0x1849, 0x0888, "ASRock", 0), /* Athlon64 X2 + nvidia */
2362 {} 2363 {}
2363}; 2364};
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 5d2fbb87b871..3a8371990d75 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -411,6 +411,8 @@ static int alc_mux_enum_info(struct snd_kcontrol *kcontrol,
411 unsigned int mux_idx = snd_ctl_get_ioffidx(kcontrol, &uinfo->id); 411 unsigned int mux_idx = snd_ctl_get_ioffidx(kcontrol, &uinfo->id);
412 if (mux_idx >= spec->num_mux_defs) 412 if (mux_idx >= spec->num_mux_defs)
413 mux_idx = 0; 413 mux_idx = 0;
414 if (!spec->input_mux[mux_idx].num_items && mux_idx > 0)
415 mux_idx = 0;
414 return snd_hda_input_mux_info(&spec->input_mux[mux_idx], uinfo); 416 return snd_hda_input_mux_info(&spec->input_mux[mux_idx], uinfo);
415} 417}
416 418
@@ -439,6 +441,8 @@ static int alc_mux_enum_put(struct snd_kcontrol *kcontrol,
439 441
440 mux_idx = adc_idx >= spec->num_mux_defs ? 0 : adc_idx; 442 mux_idx = adc_idx >= spec->num_mux_defs ? 0 : adc_idx;
441 imux = &spec->input_mux[mux_idx]; 443 imux = &spec->input_mux[mux_idx];
444 if (!imux->num_items && mux_idx > 0)
445 imux = &spec->input_mux[0];
442 446
443 type = get_wcaps_type(get_wcaps(codec, nid)); 447 type = get_wcaps_type(get_wcaps(codec, nid));
444 if (type == AC_WID_AUD_MIX) { 448 if (type == AC_WID_AUD_MIX) {
@@ -10105,6 +10109,8 @@ static void alc882_auto_init_input_src(struct hda_codec *codec)
10105 continue; 10109 continue;
10106 mux_idx = c >= spec->num_mux_defs ? 0 : c; 10110 mux_idx = c >= spec->num_mux_defs ? 0 : c;
10107 imux = &spec->input_mux[mux_idx]; 10111 imux = &spec->input_mux[mux_idx];
10112 if (!imux->num_items && mux_idx > 0)
10113 imux = &spec->input_mux[0];
10108 for (idx = 0; idx < conns; idx++) { 10114 for (idx = 0; idx < conns; idx++) {
10109 /* if the current connection is the selected one, 10115 /* if the current connection is the selected one,
10110 * unmute it as default - otherwise mute it 10116 * unmute it as default - otherwise mute it
@@ -13201,7 +13207,7 @@ static int patch_alc268(struct hda_codec *codec)
13201 13207
13202 if (board_config < 0 || board_config >= ALC268_MODEL_LAST) 13208 if (board_config < 0 || board_config >= ALC268_MODEL_LAST)
13203 board_config = snd_hda_check_board_codec_sid_config(codec, 13209 board_config = snd_hda_check_board_codec_sid_config(codec,
13204 ALC882_MODEL_LAST, alc268_models, alc268_ssid_cfg_tbl); 13210 ALC268_MODEL_LAST, alc268_models, alc268_ssid_cfg_tbl);
13205 13211
13206 if (board_config < 0 || board_config >= ALC268_MODEL_LAST) { 13212 if (board_config < 0 || board_config >= ALC268_MODEL_LAST) {
13207 printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", 13213 printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n",