| From a49a71f6e25da2acc637fcd31e73debd96ca18f8 Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Wed, 25 Jul 2018 16:34:12 +0200 |
| Subject: ALSA: seq: Fix poll() error return |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit a49a71f6e25da2acc637fcd31e73debd96ca18f8 upstream. |
| |
| The sanity checks in ALSA sequencer and OSS sequencer emulation codes |
| return falsely -ENXIO from poll callback. They should be EPOLLERR |
| instead. |
| |
| This was caught thanks to the recent change to the return value. |
| |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/core/seq/oss/seq_oss.c | 2 +- |
| sound/core/seq/seq_clientmgr.c | 2 +- |
| 2 files changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/sound/core/seq/oss/seq_oss.c |
| +++ b/sound/core/seq/oss/seq_oss.c |
| @@ -203,7 +203,7 @@ odev_poll(struct file *file, poll_table |
| struct seq_oss_devinfo *dp; |
| dp = file->private_data; |
| if (snd_BUG_ON(!dp)) |
| - return -ENXIO; |
| + return EPOLLERR; |
| return snd_seq_oss_poll(dp, file, wait); |
| } |
| |
| --- a/sound/core/seq/seq_clientmgr.c |
| +++ b/sound/core/seq/seq_clientmgr.c |
| @@ -1101,7 +1101,7 @@ static __poll_t snd_seq_poll(struct file |
| |
| /* check client structures are in place */ |
| if (snd_BUG_ON(!client)) |
| - return -ENXIO; |
| + return EPOLLERR; |
| |
| if ((snd_seq_file_flags(file) & SNDRV_SEQ_LFLG_INPUT) && |
| client->data.user.fifo) { |