On Tue, 10 May 2011, Geert Uytterhoeven wrote:
On Mon, May 9, 2011 at 01:14, Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx>
wrote:
On Sun, 8 May 2011, Christian T. Steigies wrote:
PS 2.6.28 did not boot: kernel too old. When was TLS introduced? I'll
try to apply the patch you mentioned in your other message.
I sometimes test network cards with busybox. It can be built without
linking in glibc and doesn't need TLS.
[ Â130.870000] eth0: trigger_send() called with the transmitter busy.
[ Â132.240000] ------------[ cut here ]------------
[ Â132.240000] WARNING: at net/sched/sch_generic.c:256 dev_watchdog+0x1ac/0x1cc()
[ Â132.250000] NETDEV WATCHDOG: eth0 (): transmit queue 0 timed out
Looks a lot like this problem:
http://patchwork.ozlabs.org/patch/27774/
Finn, could it also work if you remove the "#include "lib8390.c" from
*8390.c? That would reduce code size for distro kernels, which would
have too many copies of lib8390.c (for zorro8390, mac8390, hydra)?
ISTR that I tried the approach you suggest back when I fixed mac8390 but
couldn't make it fly but I don't recall why not.
I see that ax88796.c and ne-h8300.c also #include <lib8390.c>. In
ax88796.c I find this:
#define __ei_open ax_ei_open
#define __ei_close ax_ei_close
...
#include "lib8390.c"
which would have been better than my patch for mac8390; without this
renaming you may not be able to link a sane multi-sub-arch m68k kernel.
OTOH, I don't know if it is possible to build a single 8390.o that can
work for multiple drivers either.
BTW, ne-h8300 appears to lack the fixes in your patch and mine and so it
probably doesn't work properly either.
I'm not really sure how to tackle this; I'd like to think that we could
use 8390.o for the m68k drivers at least but I need to investigate
further.
Finn
Gr{oetje,eeting}s,
            Geert