Openmoko Bug #2478: linux 2.6.39: alsa state not correctly restored in resume

Openmoko Public Trac bugs at docs.openmoko.org
Thu Oct 27 15:17:28 CEST 2011


#2478: linux 2.6.39: alsa state not correctly restored in resume
---------------------+------------------------------------------------------
 Reporter:  lindi    |          Owner:  openmoko-kernel                        
     Type:  defect   |         Status:  new                                    
 Priority:  high     |      Milestone:                                         
Component:  kernel   |        Version:                                         
 Severity:  blocker  |       Keywords:  kernel alsa suspend resume linux 2.6.39
 Haspatch:  0        |      Blockedby:                                         
Estimated:           |    Patchreview:                                         
 Blocking:           |   Reproducible:  always                                 
---------------------+------------------------------------------------------
 I am using SHR 2.6.39-nodrm branch at 74c481b35be9bf9b7d74c481b35be9bf9b7d
 with config from http://build.shr-project.org/tests/jama/kernel-
 nodrm/config-2.6.39.gz

 {{{
 Steps to reproduce:
 1) save the attached statefile as stereoout.state
 2) alsactl restore -f stereoout.state
 3) alsactl store -f step3.state
 4) speaker-test -t sine
 5) echo mem > /sys/power/state
 6) alsactl store -f step6.state
 7) speaker-test -t sine

 Expected results:
 3 & 6) alsa states look identical
 4 & 7) sine wave can be heard

 Actual results:
 3 & 6) alsa states look identical
 4) sine wave can be heard
 7) nothing can be heard

 More info:
 1) After step7 I can fix the situation if I run

 amixer -qc0 cset numid=27,name='Capture Filter Switch' off
 amixer -qc0 cset numid=27,name='Capture Filter Switch' on

 amixer -qc0 cset numid=24,name='Capture Switch' on,on
 amixer -qc0 cset numid=24,name='Capture Switch' off,off

 amixer -qc0 cset numid=67,name='ALC Mixer Mic2 Capture Switch' on
 amixer -qc0 cset numid=67,name='ALC Mixer Mic2 Capture Switch' off

 amixer -qc0 cset numid=59,name='Amp Spk Switch' off
 amixer -qc0 cset numid=59,name='Amp Spk Switch' on

 amixer -qc0 cset numid=92,name='Left Mixer Left Playback Switch' off
 amixer -qc0 cset numid=92,name='Left Mixer Left Playback Switch' on

 speaker-test -t sine

 2) My guess is that kernel is caching some value and does not write it to
 hardware since it thinks it already has the right value. Toggling the
 controls back and forth thus can fix the issue.

 }}}

-- 
Ticket URL: <https://docs.openmoko.org/trac/ticket/2478>
docs.openmoko.org <http://docs.openmoko.org/trac/>
openmoko trac


More information about the buglog mailing list