AW: [eepro100] Another wait_for_cmd_timeout sufferer...

Andrew Reid reidac@bellatlantic.net
Sun Oct 28 15:43:01 2001


Bruno Haller wrote:
> 
> Hello,
> 
> I have the same problems and no solution but what made me wonder:
> You used intel's e100 on kernel 2.4.12? I would also use e100 but I
> can't use it in kernels > 2.4.9 because it says no licence or unresolved
> symbol or whatever and doesn?t work... didn?t you have this problem?
> 
  I am not successfully running the e100 module under 2.4.12, 
but it is getting as far as running its module_init() routine,
and I am getting debug reports from that routine.  I have no
unresolved symbols.

  If the symbol you are getting as unresolved is "__bad_udelay",
then there is a fix -- in the 2.4.12 kernel source tree, the
function "udelay(int)" is a macro which checks if its argument
is greater than 20000, and if it is, calls this "__bad_udelay",
which is declared but not defined.  You can prevent this from
ever being called by replacing "udelay" calls with the 
appropriate "mdelay" calls with an argument 1000x smaller.
("udelay" is apparently for microseconds, "mdelay" for 
milliseconds.)  My guess is that the optimizing compiler will
then optimize-out "__bad_udelay()" from the conditionals in
which it is present but not called, and then the linker 
will not complain.

  If you have other unresolved symbols, I can't help you,
and I can't stress enough that, under 2.4.12, the e100 
module does not actually work for me (yet?), so heroic
fixes are probably a waste of effort.

				-- A.