diff options
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_conexant.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index e0eebfbec351..75de40aaab0a 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c | |||
@@ -1713,6 +1713,7 @@ static void cxt5051_hp_automute(struct hda_codec *codec) | |||
1713 | static void cxt5051_hp_unsol_event(struct hda_codec *codec, | 1713 | static void cxt5051_hp_unsol_event(struct hda_codec *codec, |
1714 | unsigned int res) | 1714 | unsigned int res) |
1715 | { | 1715 | { |
1716 | int nid = (res & AC_UNSOL_RES_SUBTAG) >> 20; | ||
1716 | switch (res >> 26) { | 1717 | switch (res >> 26) { |
1717 | case CONEXANT_HP_EVENT: | 1718 | case CONEXANT_HP_EVENT: |
1718 | cxt5051_hp_automute(codec); | 1719 | cxt5051_hp_automute(codec); |
@@ -1724,6 +1725,7 @@ static void cxt5051_hp_unsol_event(struct hda_codec *codec, | |||
1724 | cxt5051_portc_automic(codec); | 1725 | cxt5051_portc_automic(codec); |
1725 | break; | 1726 | break; |
1726 | } | 1727 | } |
1728 | conexant_report_jack(codec, nid); | ||
1727 | } | 1729 | } |
1728 | 1730 | ||
1729 | static struct snd_kcontrol_new cxt5051_mixers[] = { | 1731 | static struct snd_kcontrol_new cxt5051_mixers[] = { |
@@ -1798,6 +1800,7 @@ static struct hda_verb cxt5051_init_verbs[] = { | |||
1798 | static int cxt5051_init(struct hda_codec *codec) | 1800 | static int cxt5051_init(struct hda_codec *codec) |
1799 | { | 1801 | { |
1800 | conexant_init(codec); | 1802 | conexant_init(codec); |
1803 | conexant_init_jacks(codec); | ||
1801 | if (codec->patch_ops.unsol_event) { | 1804 | if (codec->patch_ops.unsol_event) { |
1802 | cxt5051_hp_automute(codec); | 1805 | cxt5051_hp_automute(codec); |
1803 | cxt5051_portb_automic(codec); | 1806 | cxt5051_portb_automic(codec); |