This is a note to let you know that I've just added the patch titled
ALSA: hda - Fix empty DAC filling in patch_via.c
to the 3.6-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
alsa-hda-fix-empty-dac-filling-in-patch_via.c.patch
and it can be found in the queue-3.6 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From 5b3761954dac2d1393beef8210eb8cee81d16b8d Mon Sep 17 00:00:00 2001
From: Takashi Iwai <[email protected]>
Date: Wed, 7 Nov 2012 10:32:47 +0100
Subject: ALSA: hda - Fix empty DAC filling in patch_via.c
From: Takashi Iwai <[email protected]>
commit 5b3761954dac2d1393beef8210eb8cee81d16b8d upstream.
In via_auto_fill_adc_nids(), the parser tries to fill dac_nids[] at
the point of the current line-out (i). When no valid path is found
for this output, this results in dac = 0, thus it creates a hole in
dac_nids[]. This confuses is_empty_dac() and trims the detected DAC
in later reference.
This patch fixes the bug by appending DAC properly to dac_nids[] in
via_auto_fill_adc_nids().
Reported-by: Massimo Del Fedele <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
sound/pci/hda/patch_via.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -1875,11 +1875,11 @@ static int via_auto_fill_dac_nids(struct
{
struct via_spec *spec = codec->spec;
const struct auto_pin_cfg *cfg = &spec->autocfg;
- int i, dac_num;
+ int i;
hda_nid_t nid;
+ spec->multiout.num_dacs = 0;
spec->multiout.dac_nids = spec->private_dac_nids;
- dac_num = 0;
for (i = 0; i < cfg->line_outs; i++) {
hda_nid_t dac = 0;
nid = cfg->line_out_pins[i];
@@ -1890,16 +1890,13 @@ static int via_auto_fill_dac_nids(struct
if (!i && parse_output_path(codec, nid, dac, 1,
&spec->out_mix_path))
dac = spec->out_mix_path.path[0];
- if (dac) {
- spec->private_dac_nids[i] = dac;
- dac_num++;
- }
+ if (dac)
+ spec->private_dac_nids[spec->multiout.num_dacs++] = dac;
}
if (!spec->out_path[0].depth && spec->out_mix_path.depth) {
spec->out_path[0] = spec->out_mix_path;
spec->out_mix_path.depth = 0;
}
- spec->multiout.num_dacs = dac_num;
return 0;
}
Patches currently in stable-queue which might be from [email protected] are
queue-3.6/alsa-hda-improve-hp-depop-when-system-enter-to-s3.patch
queue-3.6/alsa-hda-fix-digital-microphone-on-cs420x.patch
queue-3.6/alsa-hda-force-to-reset-iec958-status-bits-for-ad-codecs.patch
queue-3.6/alsa-hda-fix-invalid-connections-in-vt1802-codec.patch
queue-3.6/alsa-hda-fix-empty-dac-filling-in-patch_via.c.patch
queue-3.6/alsa-hda-add-new-codec-alc668-and-alc900-default-name-alc1150.patch
queue-3.6/alsa-hda-add-a-missing-quirk-entry-for-imac-9-1.patch
queue-3.6/alsa-hda-cirrus-fix-coefficient-index-for-beep-configuration.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html