diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-25 12:51:31 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-25 12:51:31 -0400 |
| commit | e7553b19da07fffbefe83119f25738e2cc90c426 (patch) | |
| tree | e8d069cd621a1dfe7a3528c98855f0f3b86cc04b /sound/pci | |
| parent | 5ec1055aa5632dd7a8283cdb5fa9be3c535eaa06 (diff) | |
| parent | 3b23cd28751c70a3d9d4f5c9e1d2f6dbbe04f4e8 (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: sound/pci/rme9652: prevent reading uninitialized stack memory
ALSA: hda - Fix auto-parse of SPDIF input of Realtek codecs
ASoC: Fix multi-componentism
ASoC: Fix soc-cache buffer overflow bug
ALSA: oxygen: fix analog capture on Claro halo cards
ALSA: hda - Add Dell Latitude E6400 model quirk
ASoC: fix clkdev API usage in sh/migor.c
Diffstat (limited to 'sound/pci')
| -rw-r--r-- | sound/pci/hda/patch_analog.c | 1 | ||||
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 22 | ||||
| -rw-r--r-- | sound/pci/oxygen/oxygen.c | 4 | ||||
| -rw-r--r-- | sound/pci/rme9652/hdsp.c | 1 | ||||
| -rw-r--r-- | sound/pci/rme9652/hdspm.c | 1 |
5 files changed, 23 insertions, 6 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index b697fd2a6f8b..10bbbaf6ebc3 100644 --- a/sound/pci/hda/patch_analog.c +++ b/sound/pci/hda/patch_analog.c | |||
| @@ -3641,6 +3641,7 @@ static struct snd_pci_quirk ad1984_cfg_tbl[] = { | |||
| 3641 | /* Lenovo Thinkpad T61/X61 */ | 3641 | /* Lenovo Thinkpad T61/X61 */ |
| 3642 | SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD), | 3642 | SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD), |
| 3643 | SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP), | 3643 | SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP), |
| 3644 | SND_PCI_QUIRK(0x1028, 0x0233, "Dell Latitude E6400", AD1984_DELL_DESKTOP), | ||
| 3644 | {} | 3645 | {} |
| 3645 | }; | 3646 | }; |
| 3646 | 3647 | ||
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index a1312a6c8af2..a432e6efd19b 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
| @@ -1594,12 +1594,22 @@ static void alc_auto_parse_digital(struct hda_codec *codec) | |||
| 1594 | } | 1594 | } |
| 1595 | 1595 | ||
| 1596 | if (spec->autocfg.dig_in_pin) { | 1596 | if (spec->autocfg.dig_in_pin) { |
| 1597 | hda_nid_t dig_nid; | 1597 | dig_nid = codec->start_nid; |
| 1598 | err = snd_hda_get_connections(codec, | 1598 | for (i = 0; i < codec->num_nodes; i++, dig_nid++) { |
| 1599 | spec->autocfg.dig_in_pin, | 1599 | unsigned int wcaps = get_wcaps(codec, dig_nid); |
| 1600 | &dig_nid, 1); | 1600 | if (get_wcaps_type(wcaps) != AC_WID_AUD_IN) |
| 1601 | if (err > 0) | 1601 | continue; |
| 1602 | spec->dig_in_nid = dig_nid; | 1602 | if (!(wcaps & AC_WCAP_DIGITAL)) |
| 1603 | continue; | ||
| 1604 | if (!(wcaps & AC_WCAP_CONN_LIST)) | ||
| 1605 | continue; | ||
| 1606 | err = get_connection_index(codec, dig_nid, | ||
| 1607 | spec->autocfg.dig_in_pin); | ||
| 1608 | if (err >= 0) { | ||
| 1609 | spec->dig_in_nid = dig_nid; | ||
| 1610 | break; | ||
| 1611 | } | ||
| 1612 | } | ||
| 1603 | } | 1613 | } |
| 1604 | } | 1614 | } |
| 1605 | 1615 | ||
diff --git a/sound/pci/oxygen/oxygen.c b/sound/pci/oxygen/oxygen.c index 289cb4dacfc7..6c0a11adb2a8 100644 --- a/sound/pci/oxygen/oxygen.c +++ b/sound/pci/oxygen/oxygen.c | |||
| @@ -543,6 +543,10 @@ static int __devinit get_oxygen_model(struct oxygen *chip, | |||
| 543 | chip->model.suspend = claro_suspend; | 543 | chip->model.suspend = claro_suspend; |
| 544 | chip->model.resume = claro_resume; | 544 | chip->model.resume = claro_resume; |
| 545 | chip->model.set_adc_params = set_ak5385_params; | 545 | chip->model.set_adc_params = set_ak5385_params; |
| 546 | chip->model.device_config = PLAYBACK_0_TO_I2S | | ||
| 547 | PLAYBACK_1_TO_SPDIF | | ||
| 548 | CAPTURE_0_FROM_I2S_2 | | ||
| 549 | CAPTURE_1_FROM_SPDIF; | ||
| 546 | break; | 550 | break; |
| 547 | } | 551 | } |
| 548 | if (id->driver_data == MODEL_MERIDIAN || | 552 | if (id->driver_data == MODEL_MERIDIAN || |
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c index b92adef8e81e..d6fa7bfd9aa1 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c | |||
| @@ -4609,6 +4609,7 @@ static int snd_hdsp_hwdep_ioctl(struct snd_hwdep *hw, struct file *file, unsigne | |||
| 4609 | if (err < 0) | 4609 | if (err < 0) |
| 4610 | return err; | 4610 | return err; |
| 4611 | 4611 | ||
| 4612 | memset(&info, 0, sizeof(info)); | ||
| 4612 | spin_lock_irqsave(&hdsp->lock, flags); | 4613 | spin_lock_irqsave(&hdsp->lock, flags); |
| 4613 | info.pref_sync_ref = (unsigned char)hdsp_pref_sync_ref(hdsp); | 4614 | info.pref_sync_ref = (unsigned char)hdsp_pref_sync_ref(hdsp); |
| 4614 | info.wordclock_sync_check = (unsigned char)hdsp_wc_sync_check(hdsp); | 4615 | info.wordclock_sync_check = (unsigned char)hdsp_wc_sync_check(hdsp); |
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c index 547b713d7204..0c98ef9156d8 100644 --- a/sound/pci/rme9652/hdspm.c +++ b/sound/pci/rme9652/hdspm.c | |||
| @@ -4127,6 +4127,7 @@ static int snd_hdspm_hwdep_ioctl(struct snd_hwdep * hw, struct file *file, | |||
| 4127 | 4127 | ||
| 4128 | case SNDRV_HDSPM_IOCTL_GET_CONFIG_INFO: | 4128 | case SNDRV_HDSPM_IOCTL_GET_CONFIG_INFO: |
| 4129 | 4129 | ||
| 4130 | memset(&info, 0, sizeof(info)); | ||
| 4130 | spin_lock_irq(&hdspm->lock); | 4131 | spin_lock_irq(&hdspm->lock); |
| 4131 | info.pref_sync_ref = hdspm_pref_sync_ref(hdspm); | 4132 | info.pref_sync_ref = hdspm_pref_sync_ref(hdspm); |
| 4132 | info.wordclock_sync_check = hdspm_wc_sync_check(hdspm); | 4133 | info.wordclock_sync_check = hdspm_wc_sync_check(hdspm); |
