Commit 461d208c authored by Linus Torvalds's avatar Linus Torvalds

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
parents 9fdfbc2b 0e498877
...@@ -217,8 +217,9 @@ static int __devinit snd_opti9xx_init(struct snd_opti9xx *chip, ...@@ -217,8 +217,9 @@ static int __devinit snd_opti9xx_init(struct snd_opti9xx *chip,
if (isapnp && chip->mc_base) if (isapnp && chip->mc_base)
/* PnP resource gives the least 10 bits */ /* PnP resource gives the least 10 bits */
chip->mc_base |= 0xc00; chip->mc_base |= 0xc00;
else
#endif /* CONFIG_PNP */ #endif /* CONFIG_PNP */
else { {
chip->mc_base = 0xf8c; chip->mc_base = 0xf8c;
chip->mc_base_size = opti9xx_mc_size[hardware]; chip->mc_base_size = opti9xx_mc_size[hardware];
} }
......
...@@ -2358,6 +2358,7 @@ static void __devinit check_probe_mask(struct azx *chip, int dev) ...@@ -2358,6 +2358,7 @@ static void __devinit check_probe_mask(struct azx *chip, int dev)
static struct snd_pci_quirk msi_black_list[] __devinitdata = { static struct snd_pci_quirk msi_black_list[] __devinitdata = {
SND_PCI_QUIRK(0x1043, 0x81f2, "ASUS", 0), /* Athlon64 X2 + nvidia */ SND_PCI_QUIRK(0x1043, 0x81f2, "ASUS", 0), /* Athlon64 X2 + nvidia */
SND_PCI_QUIRK(0x1043, 0x81f6, "ASUS", 0), /* nvidia */ SND_PCI_QUIRK(0x1043, 0x81f6, "ASUS", 0), /* nvidia */
SND_PCI_QUIRK(0x1043, 0x822d, "ASUS", 0), /* Athlon64 X2 + nvidia MCP55 */
SND_PCI_QUIRK(0x1849, 0x0888, "ASRock", 0), /* Athlon64 X2 + nvidia */ SND_PCI_QUIRK(0x1849, 0x0888, "ASRock", 0), /* Athlon64 X2 + nvidia */
{} {}
}; };
......
...@@ -411,6 +411,8 @@ static int alc_mux_enum_info(struct snd_kcontrol *kcontrol, ...@@ -411,6 +411,8 @@ static int alc_mux_enum_info(struct snd_kcontrol *kcontrol,
unsigned int mux_idx = snd_ctl_get_ioffidx(kcontrol, &uinfo->id); unsigned int mux_idx = snd_ctl_get_ioffidx(kcontrol, &uinfo->id);
if (mux_idx >= spec->num_mux_defs) if (mux_idx >= spec->num_mux_defs)
mux_idx = 0; mux_idx = 0;
if (!spec->input_mux[mux_idx].num_items && mux_idx > 0)
mux_idx = 0;
return snd_hda_input_mux_info(&spec->input_mux[mux_idx], uinfo); return snd_hda_input_mux_info(&spec->input_mux[mux_idx], uinfo);
} }
...@@ -439,6 +441,8 @@ static int alc_mux_enum_put(struct snd_kcontrol *kcontrol, ...@@ -439,6 +441,8 @@ static int alc_mux_enum_put(struct snd_kcontrol *kcontrol,
mux_idx = adc_idx >= spec->num_mux_defs ? 0 : adc_idx; mux_idx = adc_idx >= spec->num_mux_defs ? 0 : adc_idx;
imux = &spec->input_mux[mux_idx]; imux = &spec->input_mux[mux_idx];
if (!imux->num_items && mux_idx > 0)
imux = &spec->input_mux[0];
type = get_wcaps_type(get_wcaps(codec, nid)); type = get_wcaps_type(get_wcaps(codec, nid));
if (type == AC_WID_AUD_MIX) { if (type == AC_WID_AUD_MIX) {
...@@ -10105,6 +10109,8 @@ static void alc882_auto_init_input_src(struct hda_codec *codec) ...@@ -10105,6 +10109,8 @@ static void alc882_auto_init_input_src(struct hda_codec *codec)
continue; continue;
mux_idx = c >= spec->num_mux_defs ? 0 : c; mux_idx = c >= spec->num_mux_defs ? 0 : c;
imux = &spec->input_mux[mux_idx]; imux = &spec->input_mux[mux_idx];
if (!imux->num_items && mux_idx > 0)
imux = &spec->input_mux[0];
for (idx = 0; idx < conns; idx++) { for (idx = 0; idx < conns; idx++) {
/* if the current connection is the selected one, /* if the current connection is the selected one,
* unmute it as default - otherwise mute it * unmute it as default - otherwise mute it
...@@ -13201,7 +13207,7 @@ static int patch_alc268(struct hda_codec *codec) ...@@ -13201,7 +13207,7 @@ static int patch_alc268(struct hda_codec *codec)
if (board_config < 0 || board_config >= ALC268_MODEL_LAST) if (board_config < 0 || board_config >= ALC268_MODEL_LAST)
board_config = snd_hda_check_board_codec_sid_config(codec, board_config = snd_hda_check_board_codec_sid_config(codec,
ALC882_MODEL_LAST, alc268_models, alc268_ssid_cfg_tbl); ALC268_MODEL_LAST, alc268_models, alc268_ssid_cfg_tbl);
if (board_config < 0 || board_config >= ALC268_MODEL_LAST) { if (board_config < 0 || board_config >= ALC268_MODEL_LAST) {
printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment