(please don't drop mailing lists from Cc:)
On 31.08.2012 18:18, ☈king wrote:
On 08/31/2012 12:15 PM, Daniel Mack wrote:
What kernel do you work on? Did you try the other patch that I sent some days ago and that already went mainline? https://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=015618...
Hrm.
I am using Gentoo's kernel from gentoo-sources. When I wrote the other mail I was on 3.5.1, but now I'm using 3.5.3, and when I apply that patch, I get:
1 out of 5 hunks FAILED -- saving rejects to file sound/usb/pcm.c.rej % cat sound/usb/pcm.c.rej --- sound/usb/pcm.c +++ sound/usb/pcm.c @@ -544,13 +544,10 @@ subs->last_frame_number = 0; runtime->delay = 0;
- /* clear the pending deactivation on the target EPs */
- deactivate_endpoints(subs);
- /* for playback, submit the URBs now; otherwise, the first hwptr_done * updates for all URBs would happen at the same time when starting */ if (subs->direction == SNDRV_PCM_STREAM_PLAYBACK)
return start_endpoints(subs);
return 0;return start_endpoints(subs, 1);
}
It already doesn't have that deactivate_endpoints() line.
So, I manually adding the 1 arg to start_endpoints() for "can_sleep".
The important thing is not to call deactivate_endpoints() from the prepare callback.
Rebooting to this kernel gives the exact same results, though.
Please try a kernel built from Takashi's branch:
https://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git
That alone should fix your problem. The three patches of this series fix some occasional stream dropouts.
Thanks for testing, Daniel