summaryrefslogtreecommitdiffstats
path: root/sound/core
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2016-05-04 14:59:10 +0100
committerTakashi Iwai <tiwai@suse.de>2016-05-09 17:35:43 +0200
commit1d03f2bd56f3a45123a7572fb536c063068cfb83 (patch)
tree39916a757aa781af998ef37fe293efaf3716cbab /sound/core
parent5bd05390ff084d7a1ea7efa8f8dc111c24b2454c (diff)
downloadlinux-1d03f2bd56f3a45123a7572fb536c063068cfb83.tar.gz
linux-1d03f2bd56f3a45123a7572fb536c063068cfb83.tar.xz
ALSA: compress: Fix poll error return codes
We can't return a negative error code from the poll callback the return type is unsigned and is checked against the poll specific flags we need to return POLLERR if we encounter an error. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/compress_offload.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
index 5215df2940b3..f56f4e358b76 100644
--- a/sound/core/compress_offload.c
+++ b/sound/core/compress_offload.c
@@ -391,13 +391,13 @@ static unsigned int snd_compr_poll(struct file *f, poll_table *wait)
int retval = 0;
if (snd_BUG_ON(!data))
- return -EFAULT;
+ return POLLERR;
stream = &data->stream;
mutex_lock(&stream->device->lock);
if (stream->runtime->state == SNDRV_PCM_STATE_OPEN) {
- retval = -EBADFD;
+ retval = snd_compr_get_poll(stream) | POLLERR;
goto out;
}
poll_wait(f, &stream->runtime->sleep, wait);