ALSA: pcm: Return negative delays from SNDRV_PCM_IOCTL_DELAY.
authorJeffery Miller <jmiller@neverware.com>
Sat, 21 Apr 2018 04:20:46 +0000 (23:20 -0500)
committerTakashi Iwai <tiwai@suse.de>
Mon, 23 Apr 2018 06:41:35 +0000 (08:41 +0200)
commit912e4c332037e7ed063c164985c36fb2b549ea3a
tree36add24bfb45ba8eee0a08a37aabc9f38756037c
parent6d08b06e67cd117f6992c46611dfb4ce267cd71e
ALSA: pcm: Return negative delays from SNDRV_PCM_IOCTL_DELAY.

The commit c2c86a97175f ("ALSA: pcm: Remove set_fs() in PCM core code")
changed SNDRV_PCM_IOCTL_DELAY to return an inconsistent error instead of a
negative delay.  Originally the call would succeed and return the negative
delay.  The Chromium OS Audio Server (CRAS) gets confused and hangs when
the error is returned instead of the negative delay.

Help CRAS avoid the issue by rolling back the behavior to return a
negative delay instead of an error.

Fixes: c2c86a97175f ("ALSA: pcm: Remove set_fs() in PCM core code")
Signed-off-by: Jeffery Miller <jmiller@neverware.com>
Cc: <stable@vger.kernel.org> # v4.13+
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/pcm_compat.c
sound/core/pcm_native.c