lkml.org 
[lkml]   [2008]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 16/71] ALSA: remove unneeded power_mutex lock in snd_pcm_drop
    2.6.26-stable review patch.  If anyone has any objections, please let us
    know.

    ------------------
    From: Takashi Iwai <tiwai@suse.de>

    Upstream-commit-id: 24e8fc498e9618338854bfbcf8d1d737e0bf1775

    The power_mutex lock in snd_pcm_drop may cause a possible deadlock
    chain, and above all, it's unneeded. Let's get rid of it.

    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    sound/core/pcm_native.c | 13 +++----------
    1 file changed, 3 insertions(+), 10 deletions(-)

    --- a/sound/core/pcm_native.c
    +++ b/sound/core/pcm_native.c
    @@ -1545,16 +1545,10 @@ static int snd_pcm_drop(struct snd_pcm_s
    card = substream->pcm->card;

    if (runtime->status->state == SNDRV_PCM_STATE_OPEN ||
    - runtime->status->state == SNDRV_PCM_STATE_DISCONNECTED)
    + runtime->status->state == SNDRV_PCM_STATE_DISCONNECTED ||
    + runtime->status->state == SNDRV_PCM_STATE_SUSPENDED)
    return -EBADFD;

    - snd_power_lock(card);
    - if (runtime->status->state == SNDRV_PCM_STATE_SUSPENDED) {
    - result = snd_power_wait(card, SNDRV_CTL_POWER_D0);
    - if (result < 0)
    - goto _unlock;
    - }
    -
    snd_pcm_stream_lock_irq(substream);
    /* resume pause */
    if (runtime->status->state == SNDRV_PCM_STATE_PAUSED)
    @@ -1563,8 +1557,7 @@ static int snd_pcm_drop(struct snd_pcm_s
    snd_pcm_stop(substream, SNDRV_PCM_STATE_SETUP);
    /* runtime->control->appl_ptr = runtime->status->hw_ptr; */
    snd_pcm_stream_unlock_irq(substream);
    - _unlock:
    - snd_power_unlock(card);
    +
    return result;
    }

    --


    \
     
     \ /
      Last update: 2008-10-07 02:49    [W:0.022 / U:30.812 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site