diff options
author | Kai-Heng Feng <kai.heng.feng@canonical.com> | 2021-03-26 00:59:13 +0800 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2021-03-26 09:10:33 +0100 |
commit | 44609fc01f280d6b4067262ecbb00e3128d718ae (patch) | |
tree | 7bca7809ed4ff63c53706b5bc8059ba85d6bbcf4 /sound/usb/mixer.h | |
parent | 69644fca2716699cc6896aff51d37b1e886c94d2 (diff) |
ALSA: usb-audio: Check connector value on resume
Rear Mic on Lenovo P620 cannot record after S3, despite that there's no
error and the other two functions of the USB audio, Line In and Line
Out, work just fine.
The mic starts to work again after running userspace app like "alsactl
store". Following the lead, the evidence shows that as soon as connector
status is queried, the mic can work again.
So also check connector value on resume to "wake up" the USB audio to
make it functional.
This can be device specific, however I think this generic approach may
benefit more than one device.
Now the resume callback checks connector, and a new callback,
reset_resume, to also restore switches and volumes.
Suggested-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Link: https://lore.kernel.org/r/20210325165918.22593-2-kai.heng.feng@canonical.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/mixer.h')
-rw-r--r-- | sound/usb/mixer.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/usb/mixer.h b/sound/usb/mixer.h index c29e27ac43a7..e5a01f17bf3c 100644 --- a/sound/usb/mixer.h +++ b/sound/usb/mixer.h @@ -69,6 +69,7 @@ struct usb_mixer_elem_list { bool is_std_info; usb_mixer_elem_dump_func_t dump; usb_mixer_elem_resume_func_t resume; + usb_mixer_elem_resume_func_t reset_resume; }; /* iterate over mixer element list of the given unit id */ |