AnsweredAssumed Answered

FSL-SSI duplex communication: system freeze

Question asked by sharvari harisangam on Mar 24, 2017
Latest reply on Mar 24, 2017 by igorpadykov

Hello,

I am working on imx6q sabre auto based board. I use kernel linux-imx4.1.15  with yocto rootfs of krogoth branch. I am using fsl-ssi interface for mic and playback using codec. I modified the ssi driver to work in i2s mode.  Individual aplay and arecord commands work perfectly.

Now i use aplay on ssi device and keep aplay running. Then arecord is used to capture mic data. After that, i stop arecord and run it again after some time. In backgroung aplay is strill running. Now when arecord runs again, system completely freezes and i dont get any playback sound from aplay also. After some 20sec, i get rcu error as follows:

 

NFO: rcu_preempt detected stalls on CPUs/tasks: { 1} (detected by 0, t=2102 jiffies, g=3869, c=3868, q=54)
rcu_preempt kthread starved for 2101 jiffies!
INFO: rcu_preempt self-detected stall on CPU { 0} (t=2100 jiffies g=3870 c=3869 q=54)
rcu_preempt kthread starved for 2100 jiffies!
INFO: rcu_preempt self-detected stall on CPU { 0} (t=8403 jiffies g=3870 c=3869 q=55)
rcu_preempt kthread starved for 8403 jiffies!
INFO: rcu_preempt self-detected stall on CPU { 0} (t=14706 jiffies g=3870 c=3869 q=55)
rcu_preempt kthread starved for 14706 jiffies!

 

 

aplay and arecord commands used are as follows:

 

aplay -D ssi1 -f S16_LE -r 48000 -c 2 -t wav /meta/sine_48.wav &

 

arecord -D ssi1 -f S16_LE -r 48000 -c 2 -t wav /meta/mic_in_1.wav &

 

killall arecord

 

arecord -D mic_in -f S16_LE -r 48000 -c 2 -t wav /meta/mic_in_1.wav &

 

 

What can be the possible problem here? Why is the system freezing on second arecord(capture)?

 

 

-Sharvari Harisangam

Outcomes