On Tue, Oct 22, 2013 at 11:26:48AM +0100, Richard Fitzgerald wrote:
Pausing audio playback is not an illegal state so it doesn't seem sensible for poll() to return -EBADFD on a paused stream. There's also no reason to assume that we can't write more data to the DSP while playback is paused. Remove the -EBADFD so that a stream in paused state will still report the buffer availability from poll(). It is up to the user process to manage its state so that it knows whether it is paused or not.
Signed-off-by: Richard Fitzgerald rf@opensource.wolfsonmicro.com
Acked-by VInod Koul vinod.koul@intel.com
Takashi, looks like I missed checking this earlier..
-- ~Vinod
sound/core/compress_offload.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c index bea523a..30ca133 100644 --- a/sound/core/compress_offload.c +++ b/sound/core/compress_offload.c @@ -384,8 +384,7 @@ static unsigned int snd_compr_poll(struct file *f, poll_table *wait) return -EFAULT;
mutex_lock(&stream->device->lock);
- if (stream->runtime->state == SNDRV_PCM_STATE_PAUSED ||
stream->runtime->state == SNDRV_PCM_STATE_OPEN) {
- if (stream->runtime->state == SNDRV_PCM_STATE_OPEN) { retval = -EBADFD; goto out; }
-- 1.7.2.5
--