On 9/11/07, Takashi Iwai tiwai@suse.de wrote:
At Tue, 11 Sep 2007 01:08:07 +0200, I wrote:
Actually, the code with msleep() was basically OK. If more finer check is needed, it can simply use msleep(1). The point is to use timer_after_eq() instead of loop count for the precise timeouts.
The patch is ok. You may change this timer_after_eq and jiffies into just number for the timeout (one pass will be 1ms) for simplicity (not required).
The ad1848_lib have been using this broken method (schedule_timeout with set_current_..). You can fix it as well or if the patch gets applied, I can sync the ad1848_lib to use exactly the same waiting loops. The ad1848 chip is slower then cs4231, so the granularity of 1ms hurts it less.
I want to have your patch applied as it is improvement (along with Rene's patch) over the old code: it is simpler, less code and lower (on average) delay on playback/record start.
Regards, Krzysztof