diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-03-10 03:01:25 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-03-10 03:01:25 -0500 |
commit | 7d39cf62242d52729ddff9a9ae195669f462d5c4 (patch) | |
tree | 64f8d744f0a19f204e700674b5a967ddfd741050 /sound | |
parent | a3087ae970e5c8984fab2306b1f4dbe5ef132ff7 (diff) | |
parent | ecd216260f87dd8c14b2580a16f055554644bbea (diff) |
Merge branch 'topic/hda' into for-linus
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/hda_intel.c | 1 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 8 |
2 files changed, 8 insertions, 1 deletions
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) | |||
2358 | static struct snd_pci_quirk msi_black_list[] __devinitdata = { | 2358 | static 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", |