On 09/18/2007 04:32 AM, Trent Piepho wrote: > You can see the version in Hg after your patch was applied, and it uses > schedule_timeout() Yes, as said, that was a mismatch between the 2.6.22.x I was looking at and the patch that removed the _interruptible() from a few months go already. Also explains some of the mis-communication with Krzysztof earlier... > I seem to have deleted the necessary unlock call before I sent the patch. > One of the tests is inverted too. Here is a new version which fixes all > that. The other problem you pointed at out in the current code about > mistaken timeouts is fixed as well. Yes, I agree with this, looking much better now. The removal of that last INIT checking loop _might_ cause a timing difference if earlier we just timed out in snd_ad1848_wait() but in that case, we're sol already anyway and who cares. Comment is good as well. Maybe s/should/could/ in: + * has in fact not begun. It should take 128 (no AC) or 384 (AC) cycles + * for ACI to drop. This gives a wait of at most 70 ms with a more + * typical value of 3-9 ms. By the way, as to the cs4231 mirror image -- the CS4248 was the only chip that I didn't experience the autocalibration "(1)" timeout on using cs4231_lib which seems to indicate that for the CS423x chips, ACI never comes up at all when not auto-calibrating. Just for info, this same code handles that just fine. I just now tested this on a CS4231A driven by ad1848_lib -- is working fine. Acked-by: Rene Herman <rene.herman@xxxxxxxxx> Rene. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel