| From 087c2e3b4e062573dbbc8a50b9208992e3768dcf Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Fri, 31 May 2013 13:54:10 +0200 |
| Subject: ALSA: hda/via - Disable broken dynamic power control |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 087c2e3b4e062573dbbc8a50b9208992e3768dcf upstream. |
| |
| Since the transition to the generic parser, the actual routes used |
| there don't match always with the assumed static paths in some |
| set_widgets_power_state callbacks. This results in the wrong power |
| setup in the end. As a temporary workaround, we need to disable the |
| calls together with the non-functional dynamic power control enum. |
| |
| Reported-by: Alex Riesen <raa.lkml@gmail.com> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/pci/hda/patch_via.c | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| --- a/sound/pci/hda/patch_via.c |
| +++ b/sound/pci/hda/patch_via.c |
| @@ -231,9 +231,14 @@ static void vt1708_update_hp_work(struct |
| |
| static void set_widgets_power_state(struct hda_codec *codec) |
| { |
| +#if 0 /* FIXME: the assumed connections don't match always with the |
| + * actual routes by the generic parser, so better to disable |
| + * the control for safety. |
| + */ |
| struct via_spec *spec = codec->spec; |
| if (spec->set_widgets_power_state) |
| spec->set_widgets_power_state(codec); |
| +#endif |
| } |
| |
| static void update_power_state(struct hda_codec *codec, hda_nid_t nid, |