Ticket #593 (closed defect: fixed)
audio doesn't survive suspend/resume
| Reported by: | mickey@… | Owned by: | graeme@… |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | kernel | Version: | unspecified |
| Severity: | major | Keywords: | |
| Cc: | buglog@… | Blocked By: | |
| Blocking: | Estimated Completion (week): | ||
| HasPatchForReview: | PatchReviewResult: | ||
| Reproducible: |
Description
To reproduce:
madplay <something>
[suspend]
[resume]
madplay: i/o error
Change History
comment:2 Changed 6 years ago by laforge@…
this sounds like a generic suspend/resume problem with the asoc driver, that's
why I'm assigning it to Graeme.
comment:3 Changed 6 years ago by graeme@…
Cannot test this as suspend/resume with usb networking hard locks Neo.
comment:4 Changed 6 years ago by graeme@…
I think I have tracked down the problem with this, it requires me though to
merge in the latest ASoC v2 changes to fix. I think this is on the schedule in
next month or so.
comment:5 Changed 6 years ago by laforge@…
so you're basically saying that without ASOCv2 (which I assume is a major
change, introducing it's own issues and dependencies on e.g. later kernels) we
cannot have working suspend/resume on the audio driver?
This sounds a bit too odd for me to believe. Can you please provide more details?
comment:6 Changed 6 years ago by graeme@…
We dont have to go to ASoC V2, the change is also in ASoC V1 git, and requires
basically replacing soc.c and soc-dapm.c with ones from git with corresponding
headers. I think codec and machine drivers are unaffected.
The problem I was having at Wolfson was ASoC V1 tree is dead now, ASoC V2 will
be the basis for all new development. But ASoC V2 hasnt reached release status yet.
The fix is the core has to keep track of all currently running PCM streams and
send a SUSPEND command to them on suspend and and RESUME command to them on
resume otherwise they are still playing over suspend and get upset. It did not
do this in the ASoC version used in Neo kernel.
