Код: Выделить всё
--- alsa-driver-1.0.21.orig/alsa-kernel/pci/hda/patch_conexant.c 2009-11-30 21:24:39.743235533 +0300
+++ alsa-driver-1.0.21/alsa-kernel/pci/hda/patch_conexant.c 2009-11-30 21:29:18.403252504 +0300
@@ -698,6 +698,14 @@
}
};
+static void cxt5051_update_subwoofer(struct hda_codec *codec)
+{
+ struct conexant_spec *spec = codec->spec;
+ unsigned int pinctl;
+ pinctl = (!spec->hp_present && spec->cur_eapd) ? PIN_OUT : 0;
+ snd_hda_codec_write(codec, 0x1b, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, pinctl);
+}
+
/* turn on/off EAPD (+ mute HP) as a master switch */
static int cxt5045_hp_master_sw_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
@@ -1599,6 +1607,7 @@
if (!cxt_eapd_put(kcontrol, ucontrol))
return 0;
cxt5051_update_speaker(codec);
+ cxt5051_update_subwoofer(codec);
return 1;
}
@@ -1654,6 +1663,7 @@
AC_VERB_GET_PIN_SENSE, 0) &
AC_PINSENSE_PRESENCE;
cxt5051_update_speaker(codec);
+ cxt5051_update_subwoofer(codec);
}
/* unsolicited event for HP jack sensing */
Код: Выделить всё
patch -p1 < patch_y430.patch
Так же выложил ebuild для Gentoo.