diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-01 15:23:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-01 15:23:22 -0400 |
commit | f9adfbfbf3f856e142bbc607d51c0827901d32fc (patch) | |
tree | 58708f3d28241a5854d87c29b604f8f44a8c1bb8 | |
parent | 68e952d5f9d145e43cc2c4baedd11fc55e1b7d60 (diff) | |
parent | a4461f41b94cb52e0141af717dcf4ef6558c8e2e (diff) |
Merge tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull more sound fixes from Takashi Iwai:
"The fixes for random bugs that have been reported lately in the game:
a few fixes in ASoC dpam and wm_hubs bugs spotted by Coverity, a
one-liner HD-audio fixup, and a fix for Oops with DPCM.
They are not so critically urgent bugs, but all small and safe"
* tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM
ASoC: wm_hubs: Add missing break in hp_supply_event()
ALSA: hda - Add a fixup for ASUS N76VZ
ASoC: dapm: Return -ENOMEM in snd_soc_dapm_new_dai_widgets()
ASoC: dapm: Fix source list debugfs outputs
-rw-r--r-- | sound/core/pcm.c | 4 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 1 | ||||
-rw-r--r-- | sound/soc/codecs/wm_hubs.c | 1 | ||||
-rw-r--r-- | sound/soc/soc-dapm.c | 4 |
4 files changed, 9 insertions, 1 deletions
diff --git a/sound/core/pcm.c b/sound/core/pcm.c index 17f45e8aa89c..e1e9e0c999fe 100644 --- a/sound/core/pcm.c +++ b/sound/core/pcm.c | |||
@@ -49,6 +49,8 @@ static struct snd_pcm *snd_pcm_get(struct snd_card *card, int device) | |||
49 | struct snd_pcm *pcm; | 49 | struct snd_pcm *pcm; |
50 | 50 | ||
51 | list_for_each_entry(pcm, &snd_pcm_devices, list) { | 51 | list_for_each_entry(pcm, &snd_pcm_devices, list) { |
52 | if (pcm->internal) | ||
53 | continue; | ||
52 | if (pcm->card == card && pcm->device == device) | 54 | if (pcm->card == card && pcm->device == device) |
53 | return pcm; | 55 | return pcm; |
54 | } | 56 | } |
@@ -60,6 +62,8 @@ static int snd_pcm_next(struct snd_card *card, int device) | |||
60 | struct snd_pcm *pcm; | 62 | struct snd_pcm *pcm; |
61 | 63 | ||
62 | list_for_each_entry(pcm, &snd_pcm_devices, list) { | 64 | list_for_each_entry(pcm, &snd_pcm_devices, list) { |
65 | if (pcm->internal) | ||
66 | continue; | ||
63 | if (pcm->card == card && pcm->device > device) | 67 | if (pcm->card == card && pcm->device > device) |
64 | return pcm->device; | 68 | return pcm->device; |
65 | else if (pcm->card->number > card->number) | 69 | else if (pcm->card->number > card->number) |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index bf313bea7085..8ad554312b69 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -4623,6 +4623,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = { | |||
4623 | SND_PCI_QUIRK(0x1028, 0x05db, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), | 4623 | SND_PCI_QUIRK(0x1028, 0x05db, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), |
4624 | SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), | 4624 | SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), |
4625 | SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_ASUS_MODE4), | 4625 | SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_ASUS_MODE4), |
4626 | SND_PCI_QUIRK(0x1043, 0x1bf3, "ASUS N76VZ", ALC662_FIXUP_ASUS_MODE4), | ||
4626 | SND_PCI_QUIRK(0x1043, 0x8469, "ASUS mobo", ALC662_FIXUP_NO_JACK_DETECT), | 4627 | SND_PCI_QUIRK(0x1043, 0x8469, "ASUS mobo", ALC662_FIXUP_NO_JACK_DETECT), |
4627 | SND_PCI_QUIRK(0x105b, 0x0cd6, "Foxconn", ALC662_FIXUP_ASUS_MODE2), | 4628 | SND_PCI_QUIRK(0x105b, 0x0cd6, "Foxconn", ALC662_FIXUP_ASUS_MODE2), |
4628 | SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), | 4629 | SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), |
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c index 8b50e5958de5..01daf655e20b 100644 --- a/sound/soc/codecs/wm_hubs.c +++ b/sound/soc/codecs/wm_hubs.c | |||
@@ -530,6 +530,7 @@ static int hp_supply_event(struct snd_soc_dapm_widget *w, | |||
530 | hubs->hp_startup_mode); | 530 | hubs->hp_startup_mode); |
531 | break; | 531 | break; |
532 | } | 532 | } |
533 | break; | ||
533 | 534 | ||
534 | case SND_SOC_DAPM_PRE_PMD: | 535 | case SND_SOC_DAPM_PRE_PMD: |
535 | snd_soc_update_bits(codec, WM8993_CHARGE_PUMP_1, | 536 | snd_soc_update_bits(codec, WM8993_CHARGE_PUMP_1, |
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index c17c14c394df..b2949aed1ac2 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
@@ -1949,7 +1949,7 @@ static ssize_t dapm_widget_power_read_file(struct file *file, | |||
1949 | w->active ? "active" : "inactive"); | 1949 | w->active ? "active" : "inactive"); |
1950 | 1950 | ||
1951 | list_for_each_entry(p, &w->sources, list_sink) { | 1951 | list_for_each_entry(p, &w->sources, list_sink) { |
1952 | if (p->connected && !p->connected(w, p->sink)) | 1952 | if (p->connected && !p->connected(w, p->source)) |
1953 | continue; | 1953 | continue; |
1954 | 1954 | ||
1955 | if (p->connect) | 1955 | if (p->connect) |
@@ -3495,6 +3495,7 @@ int snd_soc_dapm_new_dai_widgets(struct snd_soc_dapm_context *dapm, | |||
3495 | if (!w) { | 3495 | if (!w) { |
3496 | dev_err(dapm->dev, "ASoC: Failed to create %s widget\n", | 3496 | dev_err(dapm->dev, "ASoC: Failed to create %s widget\n", |
3497 | dai->driver->playback.stream_name); | 3497 | dai->driver->playback.stream_name); |
3498 | return -ENOMEM; | ||
3498 | } | 3499 | } |
3499 | 3500 | ||
3500 | w->priv = dai; | 3501 | w->priv = dai; |
@@ -3513,6 +3514,7 @@ int snd_soc_dapm_new_dai_widgets(struct snd_soc_dapm_context *dapm, | |||
3513 | if (!w) { | 3514 | if (!w) { |
3514 | dev_err(dapm->dev, "ASoC: Failed to create %s widget\n", | 3515 | dev_err(dapm->dev, "ASoC: Failed to create %s widget\n", |
3515 | dai->driver->capture.stream_name); | 3516 | dai->driver->capture.stream_name); |
3517 | return -ENOMEM; | ||
3516 | } | 3518 | } |
3517 | 3519 | ||
3518 | w->priv = dai; | 3520 | w->priv = dai; |