android_kernel_oneplus_msm8998/include/sound
Charles Keepax d7204d3860 ALSA: compress: Fix stop handling on compressed capture streams
commit 4f2ab5e1d13d6aa77c55f4914659784efd776eb4 upstream.

It is normal user behaviour to start, stop, then start a stream
again without closing it. Currently this works for compressed
playback streams but not capture ones.

The states on a compressed capture stream go directly from OPEN to
PREPARED, unlike a playback stream which moves to SETUP and waits
for a write of data before moving to PREPARED. Currently however,
when a stop is sent the state is set to SETUP for both types of
streams. This leaves a capture stream in the situation where a new
start can't be sent as that requires the state to be PREPARED and
a new set_params can't be sent as that requires the state to be
OPEN. The only option being to close the stream, and then reopen.

Correct this issues by allowing snd_compr_drain_notify to set the
state depending on the stream direction, as we already do in
set_params.

Fixes: 49bb6402f1 ("ALSA: compress_core: Add support for capture streams")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-20 10:13:16 +01:00
..
ac97_codec.h
aci.h
ad1816a.h
ad1843.h
adau1373.h
aess.h
ak4xxx-adda.h
ak4113.h
ak4114.h
ak4117.h
ak4531_codec.h
ak4641.h
alc5623.h
asequencer.h
asound.h
asoundef.h
atmel-abdac.h
atmel-ac97c.h
compress_driver.h ALSA: compress: Fix stop handling on compressed capture streams 2019-02-20 10:13:16 +01:00
control.h ALSA: control: Hardening for potential Spectre v1 2018-05-02 07:53:41 -07:00
core.h
cs42l52.h
cs42l56.h
cs42l73.h
cs4231-regs.h
cs4271.h
cs8403.h
cs8427.h
da7213.h ASoC: da7213: Add support to handle mclk data provided to driver 2015-10-07 15:11:34 +01:00
da7219-aad.h ASoC: codecs: Add da7219 codec driver 2015-10-02 18:11:27 +01:00
da7219.h ASoC: codecs: Add da7219 codec driver 2015-10-02 18:11:27 +01:00
da9055.h
designware_i2s.h ASoC: dwc: support dw i2s in slave mode 2015-10-05 16:31:43 +01:00
dmaengine_pcm.h
emu10k1.h
emu10k1_synth.h
emu8000.h
emu8000_reg.h
emux_legacy.h
emux_synth.h
es1688.h
gus.h
hda_hwdep.h
hda_i915.h ALSA: hda - Fix missing inline for dummy snd_hdac_set_codec_wakeup() 2015-09-02 12:24:55 +02:00
hda_register.h ALSA: hda - Fix playback noise with 24/32 bit sample size on BXT 2015-12-07 09:04:44 +01:00
hda_regmap.h ALSA: hda - Fix typos in snd_hdac_regmap_*() documents 2015-09-28 12:19:08 +02:00
hda_verbs.h
hdaudio.h ALSA: hda - Add a common helper to give the codec modalias string 2015-10-20 10:14:59 +02:00
hdaudio_ext.h ALSA: hdac: Add macro for hda ext devices entry 2015-10-20 10:19:16 +02:00
hwdep.h
i2c.h
info.h
initval.h
jack.h
l3.h
max9768.h
max98088.h
max98090.h
max98095.h
memalloc.h
minors.h
mixer_oss.h
mpu401.h
omap-hdmi-audio.h
omap-pcm.h
opl3.h
opl4.h
pcm-indirect.h
pcm.h ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command 2018-12-17 21:55:12 +01:00
pcm_drm_eld.h
pcm_iec958.h
pcm_oss.h ALSA: pcm: Return -EBUSY for OSS ioctls changing busy streams 2018-04-24 09:32:09 +02:00
pcm_params.h ALSA: pcm: Fix interval evaluation with openmin/max 2018-12-13 09:21:36 +01:00
pt2258.h
pxa2xx-lib.h ASoC: pxa: pxa-pcm-lib: switch over to snd-soc-dmaengine-pcm 2015-09-30 23:21:16 +01:00
rawmidi.h ALSA: rawmidi: Make snd_rawmidi_transmit() race-free 2016-02-17 12:30:58 -08:00
rt286.h
rt298.h
rt5640.h ASoC: rt5640: Fill up the IN3's support 2015-10-22 13:33:00 +01:00
rt5645.h ASoC: rt5645: Add jd_invert for Broadwell 2015-09-22 09:46:33 -07:00
rt5651.h
rt5670.h
rt5677.h
s3c24xx_uda134x.h
sb.h
sb16_csp.h
seq_device.h
seq_kernel.h ALSA: seq: Avoid invalid lockdep class warning 2017-11-15 17:13:12 +01:00
seq_midi_emul.h
seq_midi_event.h
seq_oss.h
seq_oss_legacy.h
seq_virmidi.h ALSA: seq: Fix copy_from_user() call inside lock 2017-10-18 09:20:42 +02:00
sh_dac_audio.h
sh_fsi.h
simple_card.h ASoC: simple-card: Add tdm slot mask support to simple-card 2015-09-16 18:00:30 +01:00
snd_wavefront.h
soc-dai.h Merge remote-tracking branch 'asoc/topic/doc' into asoc-next 2015-10-26 11:15:57 +09:00
soc-dapm.h ASoC: dapm: Reset dapm wcache after freeing damp widgets 2015-11-10 18:52:06 +00:00
soc-dpcm.h
soc-topology.h Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
soc.h ASoC: Use nested lock for snd_soc_dapm_mutex_lock 2015-12-30 16:48:13 +00:00
soundfont.h
spear_dma.h
spear_spdif.h
sta32x.h
sta350.h
tas2552-plat.h
tas5086.h
tea6330t.h
timer.h
tlv.h
tlv320aic3x.h
tlv320aic32x4.h
tlv320dac33-plat.h
tpa6130a2-plat.h
uda134x.h
uda1380.h
util_mem.h
vx_core.h
wavefront.h
wm0010.h
wm1250-ev1.h
wm2000.h
wm2200.h
wm5100.h
wm8903.h
wm8904.h ASoC: wm8904: Correct number of EQ registers 2015-10-20 15:46:09 +01:00
wm8955.h
wm8960.h
wm8962.h
wm8993.h
wm8996.h
wm9081.h
wm9090.h
wss.h