lkml.org 
[lkml]   [2013]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 024/153] ALSA: aloop: Fix Oops while PM resume
    3.2-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Takashi Iwai <tiwai@suse.de>

    commit edac894389f9c9de2a1368c78809c824b343f3a5 upstream.

    snd-aloop driver has no proper PM implementation, thus the PM resume
    may trigger Oops due to leftover timer instance. This patch adds the
    missing suspend/resume implementation.

    Reported-and-tested-by: El boulangero <elboulangero@gmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    sound/drivers/aloop.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    --- a/sound/drivers/aloop.c
    +++ b/sound/drivers/aloop.c
    @@ -287,12 +287,14 @@ static int loopback_trigger(struct snd_p
    loopback_active_notify(dpcm);
    break;
    case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
    + case SNDRV_PCM_TRIGGER_SUSPEND:
    spin_lock(&cable->lock);
    cable->pause |= stream;
    spin_unlock(&cable->lock);
    loopback_timer_stop(dpcm);
    break;
    case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
    + case SNDRV_PCM_TRIGGER_RESUME:
    spin_lock(&cable->lock);
    dpcm->last_jiffies = jiffies;
    cable->pause &= ~stream;
    @@ -552,7 +554,8 @@ static snd_pcm_uframes_t loopback_pointe
    static struct snd_pcm_hardware loopback_pcm_hardware =
    {
    .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_MMAP |
    - SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_PAUSE),
    + SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_PAUSE |
    + SNDRV_PCM_INFO_RESUME),
    .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE |
    SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE |
    SNDRV_PCM_FMTBIT_FLOAT_LE | SNDRV_PCM_FMTBIT_FLOAT_BE),



    \
     
     \ /
      Last update: 2013-03-04 05:41    [W:4.075 / U:0.392 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site