lkml.org 
[lkml]   [2012]   [Sep]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 055/262] ALSA: usb-audio: Fix bogus error messages for delay accounting
    Date
    From: Greg KH <gregkh@linuxfoundation.org>

    3.5-stable review patch. If anyone has any objections, please let me know.

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

    From: Takashi Iwai <tiwai@suse.de>

    commit 1213a205f9ed27d97de3d5bed28fb085ef4853e2 upstream.

    The recent fix for the missing fine delayed time adjustment gives
    strange error messages at each start of the playback stream, such as
    delay: estimated 0, actual 352
    delay: estimated 353, actual 705

    These come from the sanity check in retire_playback_urb(). Before the
    stream is activated via start_endpoints(), a few silent packets have
    been already sent. And at this point the delay account is still in
    the state as if the new packets are just queued, so the driver gets
    confused and spews the bogus error messages.

    For fixing the issue, we just need to check whether the received
    packet is valid, whether it's zero sized or not.

    Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/usb/pcm.c | 6 ++++++
    1 file changed, 6 insertions(+)

    --- a/sound/usb/pcm.c
    +++ b/sound/usb/pcm.c
    @@ -1140,6 +1140,12 @@ static void retire_playback_urb(struct s
    int processed = urb->transfer_buffer_length / stride;
    int est_delay;

    + /* ignore the delay accounting when procssed=0 is given, i.e.
    + * silent payloads are procssed before handling the actual data
    + */
    + if (!processed)
    + return;
    +
    spin_lock_irqsave(&subs->lock, flags);
    est_delay = snd_usb_pcm_delay(subs, runtime->rate);
    /* update delay with exact number of samples played */



    \
     
     \ /
      Last update: 2012-09-28 22:02    [W:4.132 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site