Re: Possible bug or flaw detected.
Donald Becker wrote:
> This indicates a problem with your machine and the udelay() routine.
Between them yes.
> It's pretty clear that the udelay() routine isn't being calibrated correctly.
> It should be calibrated when the machine boots.
> This can cause other, less obvious, problems.
> Could you track down this problem? It's very difficult to people with
> "normal" machines to figure out what's going on.
I'll do my best Cap'n. Can't promise anything however, as my ASM is rusty, and that's what
the udelay function is written in (even if it is small).
> That's what udelay() is supposed to do.
> I used to use the SLOW_DOWN_IO routine, which is calibrated to ISA bus
> speed. That had the drawbacks of
> Not working on non-ISA architectures.
> Not timing accurately with over-clocked busses
> (I assumed 16Mhz worst-case, 8.33Mhz is nominal max.)
> Being difficult to understand.
Mmmm hmm, yes sir, that would prove to be a problem. One way I could suggest would be to get
at the real time clock for calibration purposes (which shouldn't be a problem on most machines
(and if it is, the hardware would most likely be corrupt as well)). Another way would be to
use one of the programmable timer chips in the system (which most if not all architectures I
have to assume would have). All ideas you've probably thought of several times, I would
imagine. But if I do come up with something substantial I'll drop you a line.
> > (BTW, attached is the source code for the 1.14 driver with the delay values changed, for
> I'm not going to change the driver constants -- this should be fixed in the
> udelay() routine.
I understand your reasons, and I wasn't being presumptuous in posting the modified code
expecting it to be instituted as a fix to the current distribution. I just wanted to get it
out on the net for others with my same problem to see. If I could have found something like
this in the FAQ, or even on the driver page it would have saved me so much time spent thinking
about it (and with my mind, a problem unsolved haunts me constantly for days).
I'll see what I can come up with on getting the udelay() function to work properly with my
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
Trouble? e-mail to firstname.lastname@example.org .