[ALSA] soc - fsl_ssi.c fix "BUG: scheduling while atomic"
This patch fixes following bug caught with PREEMPT enabled:
root@b1:~# cat /dev/dsp > /dev/null
BUG: scheduling while atomic: cat/965/0x00000003
Call Trace:
[
df165ce0] [
c0008e84] show_stack+0x4c/0x1ac (unreliable)
[
df165d20] [
c001c18c] __schedule_bug+0x64/0x78
[
df165d30] [
c02b3344] schedule+0x2d8/0x334
[
df165d70] [
c02b3674] schedule_timeout+0x64/0xe4
[
df165db0] [
c002c05c] msleep+0x1c/0x34
[
df165dc0] [
c01f2fe0] fsl_ssi_trigger+0x130/0x144
[
df165dd0] [
c01ece54] soc_pcm_trigger+0x94/0xb8
[
df165df0] [
c01da764] snd_pcm_do_start+0x48/0x60
[
df165e00] [
c01da630] snd_pcm_action_single+0x4c/0xb4
[
df165e20] [
c01e0f50] snd_pcm_lib_read1+0x2a0/0x2d4
[
df165e70] [
c01ec274] snd_pcm_oss_read3+0xf0/0x13c
[
df165eb0] [
c01ec2e4] snd_pcm_oss_read2+0x24/0x4c
[
df165ec0] [
c01ec4ac] snd_pcm_oss_read+0x1a0/0x1f0
[
df165ef0] [
c0076478] vfs_read+0xb4/0x108
[
df165f10] [
c00768cc] sys_read+0x4c/0x90
[
df165f40] [
c00117a4] ret_from_syscall+0x0/0x38
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>