I was testing the 3.14.19 kernel on Freescale i.MX28 EVK. Since then, I've retested and confirmed this also on 3.18-rc4 kernel.
I am doing audio recordings through the SGTL5000 driver as such:
arecord -D hw:0,1 -f s16 -c 2 -r 16000 -d 5 test.wav
I'm finding that the first 400-500 ms of the saved data is actually stale data from the end of the previous recording. To see this, do the following:
1. Provide some test audio input in the LINE INPUT jack. E.g. a 100 Hz sine wave, or some music. 2. Record audio with e.g. arecord -D hw:0,1 -f s16 -c 2 -r 16000 -d 5 test1.wav 3. Change the test audio input, e.g. a 150 Hz sine wave, or some different music. 4. Record a new audio file with e.g. arecord -D hw:0,1 -f s16 -c 2 -r 16000 -d 5 test2.wav
Observe that the first 400-500 ms of test2.wav contains stale data from the end of the previous recording.