android_kernel_oneplus_msm8998/sound/soc
Takashi Iwai a2b3b19acf ASoC: intel: Fix PM and non-atomic crash in bytcr drivers
commit 6e4cac23c5a648d50b107d1b53e9c4e1120c7943 upstream.

The FE setups of Intel SST bytcr_rt5640 and bytcr_rt5651 drivers carry
the ignore_suspend flag, and this prevents the suspend/resume working
properly while the stream is running, since SST core code has the
check of the running streams and returns -EBUSY.  Drop these
superfluous flags for fixing the behavior.

Also, the bytcr_rt5640 driver lacks of nonatomic flag in some FE
definitions, which leads to the kernel Oops at suspend/resume like:

  BUG: scheduling while atomic: systemd-sleep/3144/0x00000003
  Call Trace:
   dump_stack+0x5c/0x7a
   __schedule_bug+0x55/0x70
   __schedule+0x63c/0x8c0
   schedule+0x3d/0x90
   schedule_timeout+0x16b/0x320
   ? del_timer_sync+0x50/0x50
   ? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core]
   ? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core]
   ? remove_wait_queue+0x60/0x60
   ? sst_prepare_and_post_msg+0x275/0x960 [snd_intel_sst_core]
   ? sst_pause_stream+0x9b/0x110 [snd_intel_sst_core]
   ....

This patch addresses these appropriately, too.

[tiwai: applied only to bytcr_rt5640 as bytcr_rt5651 isn't present in
 4.4.x yet]

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: <stable@vger.kernel.org> # v4.1+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-08 07:46:01 +02:00
..
adi
atmel ASoC: atmel-classd: fix audio clock rate 2017-04-08 09:53:31 +02:00
au1x ASoC: Updates for v4.4 2015-10-26 11:15:54 +09:00
bcm ASoC: bcm2835-i2s: Fix module autoload for OF platform drivers 2015-08-27 20:22:47 +01:00
blackfin ASoC: blackfin: Convert to devm_snd_soc_register_card 2015-09-14 18:32:58 +01:00
cirrus
codecs ASoC: cs4270: fix DAPM stream name mismatch 2016-11-18 10:48:34 +01:00
davinci Merge remote-tracking branches 'asoc/fix/davinci', 'asoc/fix/es8328', 'asoc/fix/fsl-sai', 'asoc/fix/rockchip', 'asoc/fix/sgtl5000' and 'asoc/fix/wm8974' into asoc-linus 2015-12-23 00:23:27 +00:00
dwc Merge remote-tracking branches 'asoc/topic/dwc', 'asoc/topic/es8328', 'asoc/topic/fsl' and 'asoc/topic/fsl-card' into asoc-next 2015-10-26 11:16:03 +09:00
fsl Merge remote-tracking branches 'asoc/fix/davinci', 'asoc/fix/es8328', 'asoc/fix/fsl-sai', 'asoc/fix/rockchip', 'asoc/fix/sgtl5000' and 'asoc/fix/wm8974' into asoc-linus 2015-12-23 00:23:27 +00:00
generic ASoC: simple-card: Add tdm slot mask support to simple-card 2015-09-16 18:00:30 +01:00
intel ASoC: intel: Fix PM and non-atomic crash in bytcr drivers 2017-05-08 07:46:01 +02:00
jz4740 ASoC: jz4740: Fix module autoload for OF platform driver 2015-09-14 18:46:14 +01:00
kirkwood ASoC: kirkwood: Fix module autoload for OF platform driver 2015-09-14 18:46:28 +01:00
mediatek Merge remote-tracking branches 'asoc/topic/jz4740', 'asoc/topic/kirkwood', 'asoc/topic/mtk', 'asoc/topic/multi' and 'asoc/topic/mxs' into asoc-next 2015-09-23 11:01:22 -07:00
mxs ASoC: mxs-sgtl5000: Convert to devm_snd_soc_register_card 2015-09-14 18:33:17 +01:00
nuc900 ASoC: nuc900: Convert to devm_snd_soc_register_platform 2015-08-28 18:08:35 +01:00
omap ASoC: omap-mcpdm: Fix irq resource handling 2016-10-07 15:23:46 +02:00
pxa ASoC: pxa: pxa-pcm-lib: switch over to snd-soc-dmaengine-pcm 2015-09-30 23:21:16 +01:00
qcom ASoC: qcom: change PTR_ERR argument 2015-09-17 11:36:19 +01:00
rockchip Merge remote-tracking branches 'asoc/fix/davinci', 'asoc/fix/es8328', 'asoc/fix/fsl-sai', 'asoc/fix/rockchip', 'asoc/fix/sgtl5000' and 'asoc/fix/wm8974' into asoc-linus 2015-12-23 00:23:27 +00:00
samsung ASoC: samsung: i2s: Fixup last IRQ unsafe spin lock call 2017-01-12 11:22:49 +01:00
sh ASoC: rsnd: make sure SRC In Rate feature enablement 2015-11-10 19:02:02 +00:00
sirf
spear ASoC: SPEAr: Make SND_SPEAR_SOC select SND_SOC_GENERIC_DMAENGINE_PCM 2015-09-16 17:46:11 +01:00
sti ASoC: sti: set player private data 2015-11-19 17:49:35 +00:00
sunxi ASoC: sun4i-codec: return error code instead of NULL when create_card fails 2016-11-18 10:48:37 +01:00
tegra ASoC: tegra: Use devm_ioremap_resource instead of open code 2015-08-26 18:58:46 +01:00
txx9 ASoC: txx9: Convert to devm_snd_soc_register_platform 2015-08-28 18:09:04 +01:00
ux500 Merge branch 'topic/hw-constraint-single' into for-next 2015-10-23 06:57:50 +02:00
xtensa ASoC: xtfpga-i2s: Add missing __rcu annotation 2015-07-29 15:07:54 +01:00
zte Merge remote-tracking branches 'asoc/topic/wm8996', 'asoc/topic/xtensa' and 'asoc/topic/zx296702' into asoc-next 2015-08-30 15:59:18 +01:00
Kconfig Merge remote-tracking branch 'asoc/topic/core' into asoc-next 2015-10-26 11:15:55 +09:00
Makefile Merge remote-tracking branch 'asoc/topic/core' into asoc-next 2015-10-26 11:15:55 +09:00
soc-ac97.c ASoC: ac97: Add support for resetting device before registration 2015-07-23 17:33:28 +01:00
soc-cache.c
soc-compress.c ASoC: compress: Fix compress device direction check 2016-01-31 11:28:58 -08:00
soc-core.c ASoC: core: Change power state before rechecking endpoint 2015-11-25 12:52:29 +00:00
soc-dapm.c ASoC: dapm: Fix kcontrol creation for output driver widget 2016-10-31 04:14:00 -06:00
soc-devres.c
soc-generic-dmaengine-pcm.c
soc-io.c
soc-jack.c
soc-ops.c ASoC: fix kernel-doc warnings in sound/soc/soc-ops.c 2015-11-25 12:35:40 +00:00
soc-pcm.c ASoC: dpcm: fix the BE state on hw_free 2016-02-17 12:30:59 -08:00
soc-topology.c ASoC: topology: Fix error return code in soc_tplg_dapm_widget_create() 2016-10-31 04:14:00 -06:00
soc-utils.c ASoC: Document snd-soc-dummy-dai purpose 2015-08-31 16:40:26 +01:00