Ticket #593 (closed defect: fixed)

Opened 12 years ago

Last modified 11 years ago

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:1 Changed 12 years ago by laforge@…

  • Owner changed from laforge@… to graeme.gregory@…

comment:2 Changed 12 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 12 years ago by graeme@…

Cannot test this as suspend/resume with usb networking hard locks Neo.

comment:4 Changed 12 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 12 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 12 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.

comment:7 Changed 11 years ago by graeme@…

  • Status changed from new to closed
  • Resolution set to fixed

This should be fixed now! Patches are in OE to correct the problem.

Note: See TracTickets for help on using tickets.