public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Steve Poulsen <spoulsen@css-design.us>
To: linux-omap-open-source@linux.omap.com
Subject: OMAP USB - ISO data_flush errors not handled? (OMAP 5912)
Date: Mon, 05 Nov 2007 20:37:11 -0600	[thread overview]
Message-ID: <472FD357.4000707@css-design.us> (raw)

I have run into an issue where the ISO audio (OUT) will enter a state 
where it stops playing.  This problem occurs if a single packet is 
missed (1 ms).  What happens is the OMAP 5912 reports a DATA_FLUSH 
error, as expected, but it never clears.  As I understand this error 
condition, it occurs during the next good frame and lasts during that 
frame.  In other words, when the error condition occurs, it indicates 
that the previous frame was overwritten before it was processed.

Please refer to omap_udc.c, function omap_udc_iso_irq:

            else if (stat & UDC_DATA_FLUSH)
                status = -ENOSR;

            if (status)
            {
                /* done(ep, req, status) */;
            }
            else
                read_fifo(ep, req);

It is my believe that "read_fifo" should still be called for the 
UDC_DATA_FLUSH condition.  I have tested and it does solve my problem.  
Please confirm.

The problem can be reproduced by adding a delay() of more than 1 ms in 
the read_completion for this usb_request.  The 1 ms delay should be 
added just one time, and not continuously.  It would be expected that 
the single audio frame is lost and not all audio frames thereafter.

Steve

                 reply	other threads:[~2007-11-06  2:37 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=472FD357.4000707@css-design.us \
    --to=spoulsen@css-design.us \
    --cc=linux-omap-open-source@linux.omap.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox