Commit 22e18694 authored by Dmitri Epshtein's avatar Dmitri Epshtein Committed by Greg Kroah-Hartman

USB: ehci: fix audio record functionality for some Full speed sound blaster 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: default avatarDimitry Epshtein <dima@marvell.com>
Signed-off-by: default avatarSaeed Bishara <saeed@marvell.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d63c66d2
......@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment