On Thu, 25 Mar 2021 15:24:42 +0100, Kai-Heng Feng wrote:
On Thu, Mar 25, 2021 at 9:55 PM Kai-Heng Feng kai.heng.feng@canonical.com wrote:
On Thu, Mar 25, 2021 at 9:41 PM Takashi Iwai tiwai@suse.de wrote:
On Thu, 25 Mar 2021 13:12:48 +0100, Kai-Heng Feng wrote:
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.
While at it, also remove reset-resume path to consolidate mixer resume path.
Signed-off-by: Kai-Heng Feng kai.heng.feng@canonical.com
v2:
- Remove reset-resume.
- Fold the connector checking to the mixer resume callback.
That's not what I meant exactly... I meant to put both into the single resume callback, but handle each part conditionally depending on reset_resume argument.
OK, I get what you mean now.
But this turned out to need more changes in mixer_quirks.c unnecessarily. Maybe adding the two resume functions is a better approach in the end, but not for the specific connection thing but generically both resume and reset_resume callbacks. Something like below.
This approach looks good. Let me send another one.
Actually, it works really well and I don't I think I should send the code you wrote. Is it possible to push your version with my commit log, and with my tested tag?
Tested-by: Kai-Heng Feng kai.heng.feng@canonical.com
Heh, I'm too lazy to write up the whole commit. Could you just fold into yours and submit a v3 series? I don't mind who is credited as the author, just put me as Suggested-by or such, if any.
thanks,
Takashi