18 Sep
2007
18 Sep
'07
7:28 a.m.
On Tue, 18 Sep 2007 02:53:28 +0200 Rene Herman rene.herman@gmail.com wrote:
At (---) we are no longer atomic, so imagine being pre-empted there. When we get back, we may/will well be past end_time and although by now calibration has long finished, we bail out believing we've timed out.
Good catch.
Moreover, we aren't under lock at all in the cs4231 version (which also means that msleep(1) thing is in fact fine there). Can't we do that for ad1848 as well?
The lock is right thing to do as Trent found out. The in() call writes to register. On the SMP setup it may backfire (cs4231 does not have locks but sparc cs4231 has them).
Regards, Krzysztof