From: Takashi Iwai Date: Wed, 8 Sep 2010 12:57:04 +0000 (+0200) Subject: ALSA: hda - Fix wrong HP pin detection in snd_hda_parse_pin_def_config() X-Git-Tag: v2.6.35.5~71 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e46eb17f9d1ed722daae4297623e267c3fc17547;p=thirdparty%2Fkernel%2Fstable.git ALSA: hda - Fix wrong HP pin detection in snd_hda_parse_pin_def_config() commit 122661b67899980f1372812d907e73ebcfb3d037 upstream. snd_hda_parse_pin_def_config() has some workaround for re-assigning some pins declared as headphones to line-outs. This didn't work properly for some cases because it used memmove() stupidly wrongly. Reference: Novell bnc#637263 https://bugzilla.novell.com/show_bug.cgi?id=637263 Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index ba2098d20ccc9..00515c767deee 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -4360,7 +4360,7 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec, cfg->hp_outs--; memmove(cfg->hp_pins + i, cfg->hp_pins + i + 1, sizeof(cfg->hp_pins[0]) * (cfg->hp_outs - i)); - memmove(sequences_hp + i - 1, sequences_hp + i, + memmove(sequences_hp + i, sequences_hp + i + 1, sizeof(sequences_hp[0]) * (cfg->hp_outs - i)); } }