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
This commit is contained in:
@@ -49,6 +49,8 @@ static struct snd_pcm *snd_pcm_get(struct snd_card *card, int device)
|
|||||||
struct snd_pcm *pcm;
|
struct snd_pcm *pcm;
|
||||||
|
|
||||||
list_for_each_entry(pcm, &snd_pcm_devices, list) {
|
list_for_each_entry(pcm, &snd_pcm_devices, list) {
|
||||||
|
if (pcm->internal)
|
||||||
|
continue;
|
||||||
if (pcm->card == card && pcm->device == device)
|
if (pcm->card == card && pcm->device == device)
|
||||||
return pcm;
|
return pcm;
|
||||||
}
|
}
|
||||||
@@ -60,6 +62,8 @@ static int snd_pcm_next(struct snd_card *card, int device)
|
|||||||
struct snd_pcm *pcm;
|
struct snd_pcm *pcm;
|
||||||
|
|
||||||
list_for_each_entry(pcm, &snd_pcm_devices, list) {
|
list_for_each_entry(pcm, &snd_pcm_devices, list) {
|
||||||
|
if (pcm->internal)
|
||||||
|
continue;
|
||||||
if (pcm->card == card && pcm->device > device)
|
if (pcm->card == card && pcm->device > device)
|
||||||
return pcm->device;
|
return pcm->device;
|
||||||
else if (pcm->card->number > card->number)
|
else if (pcm->card->number > card->number)
|
||||||
|
@@ -4623,6 +4623,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = {
|
|||||||
SND_PCI_QUIRK(0x1028, 0x05db, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
|
SND_PCI_QUIRK(0x1028, 0x05db, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
|
||||||
SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800),
|
SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800),
|
||||||
SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_ASUS_MODE4),
|
SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_ASUS_MODE4),
|
||||||
|
SND_PCI_QUIRK(0x1043, 0x1bf3, "ASUS N76VZ", ALC662_FIXUP_ASUS_MODE4),
|
||||||
SND_PCI_QUIRK(0x1043, 0x8469, "ASUS mobo", ALC662_FIXUP_NO_JACK_DETECT),
|
SND_PCI_QUIRK(0x1043, 0x8469, "ASUS mobo", ALC662_FIXUP_NO_JACK_DETECT),
|
||||||
SND_PCI_QUIRK(0x105b, 0x0cd6, "Foxconn", ALC662_FIXUP_ASUS_MODE2),
|
SND_PCI_QUIRK(0x105b, 0x0cd6, "Foxconn", ALC662_FIXUP_ASUS_MODE2),
|
||||||
SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD),
|
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,
|
|||||||
hubs->hp_startup_mode);
|
hubs->hp_startup_mode);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case SND_SOC_DAPM_PRE_PMD:
|
case SND_SOC_DAPM_PRE_PMD:
|
||||||
snd_soc_update_bits(codec, WM8993_CHARGE_PUMP_1,
|
snd_soc_update_bits(codec, WM8993_CHARGE_PUMP_1,
|
||||||
|
@@ -1949,7 +1949,7 @@ static ssize_t dapm_widget_power_read_file(struct file *file,
|
|||||||
w->active ? "active" : "inactive");
|
w->active ? "active" : "inactive");
|
||||||
|
|
||||||
list_for_each_entry(p, &w->sources, list_sink) {
|
list_for_each_entry(p, &w->sources, list_sink) {
|
||||||
if (p->connected && !p->connected(w, p->sink))
|
if (p->connected && !p->connected(w, p->source))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (p->connect)
|
if (p->connect)
|
||||||
@@ -3495,6 +3495,7 @@ int snd_soc_dapm_new_dai_widgets(struct snd_soc_dapm_context *dapm,
|
|||||||
if (!w) {
|
if (!w) {
|
||||||
dev_err(dapm->dev, "ASoC: Failed to create %s widget\n",
|
dev_err(dapm->dev, "ASoC: Failed to create %s widget\n",
|
||||||
dai->driver->playback.stream_name);
|
dai->driver->playback.stream_name);
|
||||||
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
w->priv = dai;
|
w->priv = dai;
|
||||||
@@ -3513,6 +3514,7 @@ int snd_soc_dapm_new_dai_widgets(struct snd_soc_dapm_context *dapm,
|
|||||||
if (!w) {
|
if (!w) {
|
||||||
dev_err(dapm->dev, "ASoC: Failed to create %s widget\n",
|
dev_err(dapm->dev, "ASoC: Failed to create %s widget\n",
|
||||||
dai->driver->capture.stream_name);
|
dai->driver->capture.stream_name);
|
||||||
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
w->priv = dai;
|
w->priv = dai;
|
||||||
|
Reference in New Issue
Block a user