ASoC: fsl: fsl_ssi: Fix simultaneous capture and playback
authorFabio Estevam <fabio.estevam@freescale.com>
Mon, 23 Sep 2013 04:08:25 +0000 (01:08 -0300)
committerMark Brown <broonie@linaro.org>
Tue, 24 Sep 2013 10:00:13 +0000 (11:00 +0100)
commit64d2307c3b7daa03dbc0c3a6b514709dd7b6eaee
tree1098c9add72e0dde2720620e217e4ab455a3d083
parentfeb8f1147618ebf20ab3e5efc143ceb621063f81
ASoC: fsl: fsl_ssi: Fix simultaneous capture and playback

When doing simultaneous capture and playback on a mx6 board we get the following
error:

$ arecord -f cd  | aplay -f cd
imx-sgtl5000 sound.13: set sample size in capture stream first
fsl-ssi-dai 2028000.ssi: ASoC: can't open interface 2028000.ssi: -11
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_
open) unable to open slave
aplay: main:660: audio open error: Device or resource busy
Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

The 'arecord -f cd  | aplay -f cd' always trigger cause the
'if (!first_runtime->sample_bits)' block to be true which returns an error.

Adjust the logic inside fsl_ssi_startup(), so that we do not always hit the
error when playing  'arecord | aplay' line for the first time.

Reported-by: Chris Clepper <cgclepper@gmail.com>
Suggested-by: Nicolin Chen <b42378@freescale.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/fsl/fsl_ssi.c