mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 03:40:04 +00:00
intel_sst: MRST can only do 16bit recording
Fix bug $ arecord -D dsnoop -r 48000 -f S16_LE 1.wav ALSA lib pcm_direct.c:980:(snd1_pcm_direct_initialize_slave) unable to install hw params ALSA lib pcm_dsnoop.c:604:(snd_pcm_dsnoop_open) unable to initialize slave arecord: main:654: audio open error: Interrupted system call Root cause is, the driver is reporting 32-bit capture capability that is not supported by the MRST hardware. So the dsnoop plugin end up requesting 32-bit capture which fails. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
3ca13bdb3c
commit
a482050294
1 changed files with 4 additions and 1 deletions
|
@ -339,8 +339,11 @@ static int snd_intelmad_open(struct snd_pcm_substream *substream,
|
|||
/*
|
||||
* MRST firmware currently denies stereo recording requests.
|
||||
*/
|
||||
if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
|
||||
if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
|
||||
runtime->hw.formats = (SNDRV_PCM_FMTBIT_S16 |
|
||||
SNDRV_PCM_FMTBIT_U16);
|
||||
runtime->hw.channels_max = 1;
|
||||
}
|
||||
}
|
||||
if (intelmaddata->cpu_id == CPU_CHIP_PENWELL) {
|
||||
runtime->hw = snd_intelmad_stream;
|
||||
|
|
Loading…
Reference in a new issue