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
Unified · Split
| @@ -49,6 +49,8 @@ static struct snd_pcm *snd_pcm_get(struct snd_card *card, int device) · 48 unmodified lines | ||
| 49 | 49 | struct snd_pcm *pcm; |
| 50 | 50 | |
| 51 | 51 | list_for_each_entry(pcm, &snd_pcm_devices, list) { |
| 52 | + if (pcm->internal) | |
| 53 | + continue; | |
| 52 | 54 | if (pcm->card == card && pcm->device == device) |
| 53 | 55 | return pcm; |
| 54 | 56 | } |
| @@ -60,6 +62,8 @@ static int snd_pcm_next(struct snd_card *card, int device) · 5 unmodified lines | ||
| 60 | 62 | struct snd_pcm *pcm; |
| 61 | 63 | |
| 62 | 64 | list_for_each_entry(pcm, &snd_pcm_devices, list) { |
| 65 | + if (pcm->internal) | |
| 66 | + continue; | |
| 63 | 67 | if (pcm->card == card && pcm->device > device) |
| 64 | 68 | return pcm->device; |
| 65 | 69 | else if (pcm->card->number > card->number) |
| @@ -4623,6 +4623,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = { · 4622 unmodified lines | ||
| 4623 | 4623 | SND_PCI_QUIRK(0x1028, 0x05db, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), |
| 4624 | 4624 | SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), |
| 4625 | 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 | 4627 | SND_PCI_QUIRK(0x1043, 0x8469, "ASUS mobo", ALC662_FIXUP_NO_JACK_DETECT), |
| 4627 | 4628 | SND_PCI_QUIRK(0x105b, 0x0cd6, "Foxconn", ALC662_FIXUP_ASUS_MODE2), |
| 4628 | 4629 | SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), |
| @@ -530,6 +530,7 @@ static int hp_supply_event(struct snd_soc_dapm_widget *w, · 529 unmodified lines | ||
| 530 | 530 | hubs->hp_startup_mode); |
| 531 | 531 | break; |
| 532 | 532 | } |
| 533 | + break; | |
| 533 | 534 | |
| 534 | 535 | case SND_SOC_DAPM_PRE_PMD: |
| 535 | 536 | snd_soc_update_bits(codec, WM8993_CHARGE_PUMP_1, |
| @@ -1949,7 +1949,7 @@ static ssize_t dapm_widget_power_read_file(struct file *file, · 1948 unmodified lines | ||
| 1949 | 1949 | w->active ? "active" : "inactive"); |
| 1950 | 1950 | |
| 1951 | 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 | 1953 | continue; |
| 1954 | 1954 | |
| 1955 | 1955 | if (p->connect) |
| @@ -3495,6 +3495,7 @@ int snd_soc_dapm_new_dai_widgets(struct snd_soc_dapm_context *dapm, · 1539 unmodified lines | ||
| 3495 | 3495 | if (!w) { |
| 3496 | 3496 | dev_err(dapm->dev, "ASoC: Failed to create %s widget\n", |
| 3497 | 3497 | dai->driver->playback.stream_name); |
| 3498 | + return -ENOMEM; | |
| 3498 | 3499 | } |
| 3499 | 3500 | |
| 3500 | 3501 | w->priv = dai; |
| @@ -3513,6 +3514,7 @@ int snd_soc_dapm_new_dai_widgets(struct snd_soc_dapm_context *dapm, · 12 unmodified lines | ||
| 3513 | 3514 | if (!w) { |
| 3514 | 3515 | dev_err(dapm->dev, "ASoC: Failed to create %s widget\n", |
| 3515 | 3516 | dai->driver->capture.stream_name); |
| 3517 | + return -ENOMEM; | |
| 3516 | 3518 | } |
| 3517 | 3519 | |
| 3518 | 3520 | w->priv = dai; |