android_kernel_motorola_sm6225/sound/soc
Kevin Strasser 2fa190ce33 ASoC: Intel: Fix pcm stream context restore crash
In some cases the pcm stream is closed while context has been
scheduled to be restored, causing a null pointer deref panic.
Cancel work to ensure stream does not get freed while work is
still active/pending.

Also, restoring the pcm context can be safely skipped after the
stream has been stopped. Check if pcm stream is still running
before restoring stream context to help pending work finish
more quickly in stream close path.

Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-19 17:30:56 +01:00
..
adi ASoC: axi-{spdif,i2s}: Remove SND_DMAENGINE_PCM_FLAG_NO_RESIDUE flag 2014-01-14 21:28:39 +00:00
atmel Merge remote-tracking branches 'asoc/topic/da7213', 'asoc/topic/da732x', 'asoc/topic/da9055', 'asoc/topic/davinci', 'asoc/topic/fsl', 'asoc/topic/fsl-esai', 'asoc/topic/fsl-sai' and 'asoc/topic/fsl-spdif' into asoc-next 2014-03-12 23:04:22 +00:00
au1x ASoC: au1x: Don't set unused struct snd_pcm_hardware fields 2013-12-21 14:23:20 +00:00
bcm ASoC: bcm: Remove obsoleted Kconfig dependency 2014-01-08 20:00:04 +00:00
blackfin Merge remote-tracking branches 'asoc/topic/samsung', 'asoc/topic/sgtl5000', 'asoc/topic/sh', 'asoc/topic/simple', 'asoc/topic/sirf', 'asoc/topic/sn95031', 'asoc/topic/ssm2602' and 'asoc/topic/stac9766' into asoc-next 2014-03-12 23:04:42 +00:00
cirrus Merge remote-tracking branch 'asoc/topic/cirrus' into asoc-next 2014-03-13 14:19:11 +00:00
codecs Merge remote-tracking branches 'asoc/fix/rt5640', 'asoc/fix/samsung', 'asoc/fix/tlv320aic23' and 'asoc/fix/warn' into asoc-linus 2014-04-08 21:22:14 +01:00
davinci ASoC: davinci-mcasp: Fix bit clock polarity settings 2014-04-08 12:56:45 +01:00
dwc ASoC: designware_i2s: Remove unnecessary dev_set_drvdata() 2013-08-29 13:18:32 +01:00
fsl Merge remote-tracking branches 'asoc/fix/alc5632', 'asoc/fix/cs42l52', 'asoc/fix/cs42xxx8', 'asoc/fix/da732x', 'asoc/fix/davinci', 'asoc/fix/fsl-sai', 'asoc/fix/fsl-ssi' and 'asoc/fix/max98090' into asoc-linus 2014-04-08 21:22:11 +01:00
generic ASoC: simple-card: Handle many DAI links 2014-03-25 18:09:20 +00:00
intel ASoC: Intel: Fix pcm stream context restore crash 2014-05-19 17:30:56 +01:00
jz4740 ASoC: jz4740: Use the generic dmaengine PCM driver 2013-12-03 18:07:49 +00:00
kirkwood ARM: SoC: driver changes 2014-04-05 15:37:40 -07:00
mxs Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/atmel', 'asoc/topic/bcm2835', 'asoc/topic/docs', 'asoc/topic/fsl', 'asoc/topic/generic', 'asoc/topic/kirkwood', 'asoc/topic/mc13783', 'asoc/topic/mxs', 'asoc/topic/nuc900', 'asoc/topic/sai', 'asoc/topic/sh', 'asoc/topic/ssm2602', 'asoc/topic/tlv320aic3x', 'asoc/topic/twl4030', 'asoc/topic/ux500', 'asoc/topic/width' and 'asoc/topic/x86' into for-tiwai 2014-01-16 12:44:01 +00:00
nuc900 ASoC: nuc900: Don't set unused struct snd_pcm_hardware fields 2014-01-09 14:29:02 +00:00
omap Merge remote-tracking branches 'asoc/topic/max98090' and 'asoc/topic/omap' into asoc-next 2014-03-23 14:00:55 +00:00
pxa ASoC: pxa: tosa: Convert to table based DAPM and control setup 2014-03-13 09:41:00 +00:00
s6000 ASoC: s6105-ipcam: Convert to table based DAPM setup 2014-03-13 11:43:30 +00:00
samsung ASoC: samsung: Fix build on multiplatform 2014-04-08 12:51:57 +01:00
sh Merge remote-tracking branch 'asoc/topic/rcar' into asoc-next 2014-03-24 11:16:43 +00:00
sirf ASoC: sirf: Add SiRF audio card 2014-03-06 17:21:56 +08:00
spear ASoC: spear: spdif_out: Fix mute control 2014-03-10 17:43:15 +00:00
tegra Merge remote-tracking branches 'asoc/topic/tdm' and 'asoc/topic/tegra' into asoc-next 2014-03-25 21:22:15 +00:00
txx9 ASoC: txx9aclc_ac97: Fix kernel crash on probe 2014-02-16 08:36:40 +08:00
ux500 ASoC: ux500: Don't set unused struct snd_pcm_hardware fields 2014-01-09 14:30:27 +00:00
Kconfig ASoC: sirf: Add SiRF audio port driver is used by SiRF internal audio codec 2014-03-06 17:20:08 +08:00
Makefile ASoC: sirf: Add SiRF audio port driver is used by SiRF internal audio codec 2014-03-06 17:20:08 +08:00
soc-cache.c ASoC: cache: Do the codec->reg_cache zero pionter check 2014-03-04 12:32:19 +08:00
soc-compress.c ASoC: Add helper functions for PCM runtime 'active' management 2014-03-06 17:04:55 +08:00
soc-core.c ASoC: Final updates for v3.15 merge window 2014-03-31 12:33:09 +02:00
soc-dapm.c Merge remote-tracking branch 'asoc/topic/enum' into asoc-next 2014-03-12 23:03:59 +00:00
soc-devres.c Merge remote-tracking branch 'asoc/topic/dma' into asoc-next 2014-01-02 13:01:52 +00:00
soc-generic-dmaengine-pcm.c ASoC: core: Fix possible NULL pointer dereference of pcm->config 2014-01-16 14:11:49 +00:00
soc-io.c ASoC: io: Remove support for ASoC cache in conjunction with regmap 2014-03-19 13:10:01 +00:00
soc-jack.c ASoC: delay the initial jack detect by debounce_time 2014-02-24 10:27:47 +09:00
soc-pcm.c ASoC: Updates for v3.15 2014-03-23 14:00:41 +00:00
soc-utils.c Merge remote-tracking branch 'asoc/topic/dapm' into for-tiwai 2014-01-16 12:42:53 +00:00