Skip to content

Commit

Permalink
USB: ehci: fix audio record functionality for some Full speed sound b…
Browse files Browse the repository at this point in the history
…laster devices

This patch fix audio record functionality for some Full speed sound blaster devices.
Issue: Sometimes transaction complete indication is coming from HW one frame later.
Solution: If scan_periodic process now frame or previous frame now-1 and sitd transaction
is not finished yet, exit scan_periodic function and check the same transaction in the next frame.

Signed-off-by: Dimitry Epshtein <dima@marvell.com>
Signed-off-by: Saeed Bishara <saeed@marvell.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Dmitri Epshtein authored and Greg Kroah-Hartman committed Mar 2, 2010
1 parent d63c66d commit 22e1869
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions drivers/usb/host/ehci-sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -2324,9 +2324,13 @@ scan_periodic (struct ehci_hcd *ehci)
* No need to check for activity unless the
* frame is current.
*/
if (frame == clock_frame && live &&
(q.sitd->hw_results &
SITD_ACTIVE(ehci))) {
if (((frame == clock_frame) ||
(((frame + 1) % ehci->periodic_size)
== clock_frame))
&& live
&& (q.sitd->hw_results &
SITD_ACTIVE(ehci))) {

incomplete = true;
q_p = &q.sitd->sitd_next;
hw_p = &q.sitd->hw_next;
Expand Down

0 comments on commit 22e1869

Please sign in to comment.