* 8390 drivers (was: Re: Debian kernel 2.6.38-5) @ 2011-05-09 20:38 Geert Uytterhoeven 2011-05-09 21:32 ` Christian T. Steigies 0 siblings, 1 reply; 14+ messages in thread From: Geert Uytterhoeven @ 2011-05-09 20:38 UTC (permalink / raw) To: Christian T. Steigies Cc: Finn Thain, Thorsten Glaser, linux-m68k, Stephen Hemminger, David S. Miller, netdev On Mon, May 9, 2011 at 22:25, Christian T. Steigies <cts@debian.org> wrote: > On Mon, May 09, 2011 at 09:16:16AM +0200, Geert Uytterhoeven wrote: >> On Mon, May 9, 2011 at 01:14, Finn Thain <fthain@telegraphics.com.au> 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/ >> >> Yeah, that's a very likely culprit. Thx! > > I applied the following patch and it works! apt-get update that is, there is > no sshd on this freshly installed system yet... > > I also changed this line to have 4 underscores at the beginning: > > { 0xec940559, "____alloc_ei_netdev" }, In which file is that? > it does not show up in git diff, so I am not sure if this is a leftover from > a previous checkout, or if it is also needed. And if it is needed, if it > should be two underscores or four or none, and if so why or why not... > Looking at the other drivers, there does not seem to be a lot of consistency? From this, I guess hydra and ne-h8300 are also affected, as they include lib8390.c theirselves and are linked with 8390.o? > diff --git a/drivers/net/zorro8390.c b/drivers/net/zorro8390.c > index b78a38d9..8c7c522 100644 > --- a/drivers/net/zorro8390.c > +++ b/drivers/net/zorro8390.c > @@ -126,7 +126,7 @@ static int __devinit zorro8390_init_one(struct zorro_dev *z, > > board = z->resource.start; > ioaddr = board+cards[i].offset; > - dev = alloc_ei_netdev(); > + dev = ____alloc_ei_netdev(0); > if (!dev) > return -ENOMEM; > if (!request_mem_region(ioaddr, NE_IO_EXTENT*2, DRV_NAME)) { > @@ -146,15 +146,15 @@ static int __devinit zorro8390_init_one(struct zorro_dev *z, > static const struct net_device_ops zorro8390_netdev_ops = { > .ndo_open = zorro8390_open, > .ndo_stop = zorro8390_close, > - .ndo_start_xmit = ei_start_xmit, > - .ndo_tx_timeout = ei_tx_timeout, > - .ndo_get_stats = ei_get_stats, > - .ndo_set_multicast_list = ei_set_multicast_list, > + .ndo_start_xmit = __ei_start_xmit, > + .ndo_tx_timeout = __ei_tx_timeout, > + .ndo_get_stats = __ei_get_stats, > + .ndo_set_multicast_list = __ei_set_multicast_list, > .ndo_validate_addr = eth_validate_addr, > .ndo_set_mac_address = eth_mac_addr, > .ndo_change_mtu = eth_change_mtu, > #ifdef CONFIG_NET_POLL_CONTROLLER > - .ndo_poll_controller = ei_poll, > + .ndo_poll_controller = __ei_poll, > #endif > }; And 8390.o can be removed from drivers/net/Makefile? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers (was: Re: Debian kernel 2.6.38-5) 2011-05-09 20:38 8390 drivers (was: Re: Debian kernel 2.6.38-5) Geert Uytterhoeven @ 2011-05-09 21:32 ` Christian T. Steigies 2011-05-10 6:52 ` Geert Uytterhoeven 0 siblings, 1 reply; 14+ messages in thread From: Christian T. Steigies @ 2011-05-09 21:32 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Finn Thain, Thorsten Glaser, linux-m68k, Stephen Hemminger, David S. Miller, netdev On Mon, May 09, 2011 at 10:38:18PM +0200, Geert Uytterhoeven wrote: > On Mon, May 9, 2011 at 22:25, Christian T. Steigies <cts@debian.org> wrote: > > On Mon, May 09, 2011 at 09:16:16AM +0200, Geert Uytterhoeven wrote: > >> On Mon, May 9, 2011 at 01:14, Finn Thain <fthain@telegraphics.com.au> 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/ > >> > >> Yeah, that's a very likely culprit. Thx! > > > > I applied the following patch and it works! apt-get update that is, there is > > no sshd on this freshly installed system yet... > > > > I also changed this line to have 4 underscores at the beginning: > > > > { 0xec940559, "____alloc_ei_netdev" }, > > In which file is that? zorro8390.mod.c > > it does not show up in git diff, so I am not sure if this is a leftover from > > a previous checkout, or if it is also needed. And if it is needed, if it > > should be two underscores or four or none, and if so why or why not... > > Looking at the other drivers, there does not seem to be a lot of consistency? > > From this, I guess hydra and ne-h8300 are also affected, as they > include lib8390.c > theirselves and are linked with 8390.o? > > > diff --git a/drivers/net/zorro8390.c b/drivers/net/zorro8390.c > > index b78a38d9..8c7c522 100644 > > --- a/drivers/net/zorro8390.c > > +++ b/drivers/net/zorro8390.c > > @@ -126,7 +126,7 @@ static int __devinit zorro8390_init_one(struct zorro_dev *z, > > > > board = z->resource.start; > > ioaddr = board+cards[i].offset; > > - dev = alloc_ei_netdev(); > > + dev = ____alloc_ei_netdev(0); > > if (!dev) > > return -ENOMEM; > > if (!request_mem_region(ioaddr, NE_IO_EXTENT*2, DRV_NAME)) { > > @@ -146,15 +146,15 @@ static int __devinit zorro8390_init_one(struct zorro_dev *z, > > static const struct net_device_ops zorro8390_netdev_ops = { > > .ndo_open = zorro8390_open, > > .ndo_stop = zorro8390_close, > > - .ndo_start_xmit = ei_start_xmit, > > - .ndo_tx_timeout = ei_tx_timeout, > > - .ndo_get_stats = ei_get_stats, > > - .ndo_set_multicast_list = ei_set_multicast_list, > > + .ndo_start_xmit = __ei_start_xmit, > > + .ndo_tx_timeout = __ei_tx_timeout, > > + .ndo_get_stats = __ei_get_stats, > > + .ndo_set_multicast_list = __ei_set_multicast_list, > > .ndo_validate_addr = eth_validate_addr, > > .ndo_set_mac_address = eth_mac_addr, > > .ndo_change_mtu = eth_change_mtu, > > #ifdef CONFIG_NET_POLL_CONTROLLER > > - .ndo_poll_controller = ei_poll, > > + .ndo_poll_controller = __ei_poll, > > #endif > > }; > > And 8390.o can be removed from drivers/net/Makefile? I did not change that and it still works, modprobe zorro8390 did not load 8390. The speed is rather slow, though, 10kbit/sec seems to be the max speed. I have not been able to log in via ssh yet, maybe after it has finished downloading packages. Christian ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers (was: Re: Debian kernel 2.6.38-5) 2011-05-09 21:32 ` Christian T. Steigies @ 2011-05-10 6:52 ` Geert Uytterhoeven 2011-05-10 7:29 ` Christian T. Steigies 0 siblings, 1 reply; 14+ messages in thread From: Geert Uytterhoeven @ 2011-05-10 6:52 UTC (permalink / raw) To: Geert Uytterhoeven, Finn Thain, Thorsten Glaser, linux-m68k, Stephen Hemminger On Mon, May 9, 2011 at 23:32, Christian T. Steigies <cts@debian.org> wrote: > On Mon, May 09, 2011 at 10:38:18PM +0200, Geert Uytterhoeven wrote: >> On Mon, May 9, 2011 at 22:25, Christian T. Steigies <cts@debian.org> wrote: >> > On Mon, May 09, 2011 at 09:16:16AM +0200, Geert Uytterhoeven wrote: >> >> On Mon, May 9, 2011 at 01:14, Finn Thain <fthain@telegraphics.com.au> 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/ >> >> >> >> Yeah, that's a very likely culprit. Thx! >> > >> > I applied the following patch and it works! apt-get update that is, there is >> > no sshd on this freshly installed system yet... >> > >> > I also changed this line to have 4 underscores at the beginning: >> > >> > { 0xec940559, "____alloc_ei_netdev" }, >> >> In which file is that? > > zorro8390.mod.c That's a generated file, so you can ignore it. >> > it does not show up in git diff, so I am not sure if this is a leftover from >> > a previous checkout, or if it is also needed. And if it is needed, if it >> > should be two underscores or four or none, and if so why or why not... >> > Looking at the other drivers, there does not seem to be a lot of consistency? >> >> From this, I guess hydra and ne-h8300 are also affected, as they >> include lib8390.c >> theirselves and are linked with 8390.o? >> >> > diff --git a/drivers/net/zorro8390.c b/drivers/net/zorro8390.c >> > index b78a38d9..8c7c522 100644 >> > --- a/drivers/net/zorro8390.c >> > +++ b/drivers/net/zorro8390.c >> > @@ -126,7 +126,7 @@ static int __devinit zorro8390_init_one(struct zorro_dev *z, >> > >> > board = z->resource.start; >> > ioaddr = board+cards[i].offset; >> > - dev = alloc_ei_netdev(); >> > + dev = ____alloc_ei_netdev(0); >> > if (!dev) >> > return -ENOMEM; >> > if (!request_mem_region(ioaddr, NE_IO_EXTENT*2, DRV_NAME)) { >> > @@ -146,15 +146,15 @@ static int __devinit zorro8390_init_one(struct zorro_dev *z, >> > static const struct net_device_ops zorro8390_netdev_ops = { >> > .ndo_open = zorro8390_open, >> > .ndo_stop = zorro8390_close, >> > - .ndo_start_xmit = ei_start_xmit, >> > - .ndo_tx_timeout = ei_tx_timeout, >> > - .ndo_get_stats = ei_get_stats, >> > - .ndo_set_multicast_list = ei_set_multicast_list, >> > + .ndo_start_xmit = __ei_start_xmit, >> > + .ndo_tx_timeout = __ei_tx_timeout, >> > + .ndo_get_stats = __ei_get_stats, >> > + .ndo_set_multicast_list = __ei_set_multicast_list, >> > .ndo_validate_addr = eth_validate_addr, >> > .ndo_set_mac_address = eth_mac_addr, >> > .ndo_change_mtu = eth_change_mtu, >> > #ifdef CONFIG_NET_POLL_CONTROLLER >> > - .ndo_poll_controller = ei_poll, >> > + .ndo_poll_controller = __ei_poll, >> > #endif >> > }; >> >> And 8390.o can be removed from drivers/net/Makefile? > > I did not change that and it still works, modprobe zorro8390 did not load > 8390. The speed is rather slow, though, 10kbit/sec seems to be the max > speed. I have not been able to log in via ssh yet, maybe after it has > finished downloading packages. Yeah, speed depends on CPU type and motherboard/CPU interface. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers (was: Re: Debian kernel 2.6.38-5) 2011-05-10 6:52 ` Geert Uytterhoeven @ 2011-05-10 7:29 ` Christian T. Steigies 2011-05-23 20:44 ` Christian T. Steigies 0 siblings, 1 reply; 14+ messages in thread From: Christian T. Steigies @ 2011-05-10 7:29 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Finn Thain, Thorsten Glaser, linux-m68k, Stephen Hemminger, David S. Miller, netdev On Tue, May 10, 2011 at 08:52:48AM +0200, Geert Uytterhoeven wrote: > > > > zorro8390.mod.c > > That's a generated file, so you can ignore it. ok > Yeah, speed depends on CPU type and motherboard/CPU interface. well, it was much faster for a while. Now, after downloading and during installing packages (and switching to dependency based booting, etc), I get: eth0: mismatched read page pointer: 1 vs ff. and eth0: mismatched read page pointer: 1 vs f0. (I think, maybe fe or 0) A lot of them. So many that I can not stop the output or do anything on the machine :-( There is a different message as well, but it is not readable. Christian ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers (was: Re: Debian kernel 2.6.38-5) 2011-05-10 7:29 ` Christian T. Steigies @ 2011-05-23 20:44 ` Christian T. Steigies 2011-05-24 10:06 ` Finn Thain 2011-07-18 9:46 ` Finn Thain 0 siblings, 2 replies; 14+ messages in thread From: Christian T. Steigies @ 2011-05-23 20:44 UTC (permalink / raw) To: Linux/m68k On Tue, May 10, 2011 at 09:29:28AM +0200, Christian T. Steigies wrote: > eth0: mismatched read page pointer: 1 vs ff. > and > eth0: mismatched read page pointer: 1 vs f0. (I think, maybe fe or 0) > > A lot of them. So many that I can not stop the output or do anything on the > machine :-( > There is a different message as well, but it is not readable. Here is the output from dmesg for linux-2.6.39 as built from Debian sources. zorro8390.c includes the patch Finn and Geert sent earlier, so the network works, for about 10 minutes. Then this happens (with my earlier built kernel from linux-m68k git with the patch, it seems to work longer, but I did not run a long test series): Searching for SAVEKMSG magic... Found 131056 bytes at 0x001e0010 >>>>>>>>>>>>>>>>>>>> [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 2.6.39-1-amiga (Debian 2.6.39-1) (maks@debian.org) (gcc version 4.4.6 (Debian 4.4.6-3) ) #1 Sat May 21 09:56:48 CEST 2011 [ 0.000000] Enabling workaround for errata I14 [ 0.000000] console [debug0] enabled [ 0.000000] Amiga hardware found: [A3000] VIDEO BLITTER AMBER_FF AUDIO FLOPPY A3000_SCSI KEYBOARD MOUSE SERIAL PARALLEL A3000_CLK CHIP_RAM PAULA DENISE_HR AGNUS_HR_PAL MAGIC_REKICK ZORRO3 [ 0.000000] Ignoring memory chunk at 0x7000000:0x1000000 before the first chunk [ 0.000000] Fix your bootloader or use a memfile to make use of this area! [ 0.000000] On node 0 totalpages: 28672 [ 0.000000] free_area_init_node: node 0, pgdat 00322074, node_mem_map 003ab000 [ 0.000000] DMA zone: 252 pages used for memmap [ 0.000000] DMA zone: 0 pages reserved [ 0.000000] DMA zone: 28420 pages, LIFO batch:7 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 28420 [ 0.000000] Kernel command line: root=/dev/sda3 fb=false video=amifb:ntsc-lace debug=mem BOOT_IMAGE=Work:linux/vmlinux-2.6.39-1-amiga [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] allocated 458752 bytes of page_cgroup [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups [ 0.000000] Memory: 109340k/109340k available (2448k kernel code, 2764k data, 136k init) [ 0.000000] Console: colour dummy device 80x25 [ 0.000000] console [tty0] enabled [ 0.000000] Calibrating delay loop... 99.22 BogoMIPS (lpj=496128) [ 0.090000] pid_max: default: 32768 minimum: 301 [ 0.090000] Security Framework initialized [ 0.090000] TOMOYO Linux initialized [ 0.090000] Mount-cache hash table entries: 512 [ 0.100000] Initializing cgroup subsys ns [ 0.100000] ns_cgroup deprecated: consider using the 'clone_children' flag without the ns_cgroup. [ 0.100000] Initializing cgroup subsys cpuacct [ 0.100000] Initializing cgroup subsys memory [ 0.100000] Initializing cgroup subsys devices [ 0.100000] Initializing cgroup subsys freezer [ 0.100000] Initializing cgroup subsys blkio [ 0.120000] devtmpfs: initialized [ 0.130000] print_constraints: dummy: [ 0.130000] NET: Registered protocol family 16 [ 0.180000] bio: create slab <bio-0> at 0 [ 0.190000] SCSI subsystem initialized [ 0.350000] NET: Registered protocol family 2 [ 0.350000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.360000] TCP established hash table entries: 4096 (order: 3, 32768 bytes) [ 0.370000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes) [ 0.370000] TCP: Hash tables configured (established 4096 bind 4096) [ 0.370000] TCP reno registered [ 0.370000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.370000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.370000] NET: Registered protocol family 1 [ 0.410000] VFS: Disk quotas dquot_6.5.2 [ 0.410000] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 0.410000] msgmni has been set to 213 [ 0.430000] alg: No test for stdrng (krng) [ 0.430000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) [ 0.430000] io scheduler noop registered [ 0.430000] io scheduler deadline registered [ 0.430000] io scheduler cfq registered (default) [ 0.570000] Console: switching to colour frame buffer device 80x25 [ 0.640000] fb0: Amiga ECS frame buffer device, using 640K of video memory [ 0.660000] Amiga-builtin serial driver version 4.30 [ 0.670000] ttyS0 is the amiga builtin serial port [ 0.680000] FD: probing units [ 0.680000] found [ 0.690000] fd: drive 0 didn't identify, setting default ffffffff [ 0.700000] fd0 [ 0.810000] brd: module loaded [ 0.820000] Uniform Multi-Platform E-IDE driver [ 0.830000] ide-gd driver 1.18 [ 0.840000] ide-cd driver 5.00 [ 0.860000] wd33c93-0: chip=WD33c93A/0 no_sync=0xff no_dma=0 debug_flags=0x00 [ 0.870000] setup_args=,,,,,,,,,, [ 0.890000] Version 1.26++ - 10/Feb/2007, Compiled May 21 2011 at 09:49:09 [ 0.900000] scsi0 : Amiga 3000 built-in SCSI [ 0.920000] Zorro: Probing AutoConfig expansion devices: 2 devices [ 0.940000] mousedev: PS/2 mouse device common for all mice [ 0.950000] input: amiga-keyboard as /devices/platform/amiga-keyboard/input/input0 [ 0.960000] input: amiga-mouse as /devices/platform/amiga-mouse/input/input1 [ 0.980000] TCP cubic registered [ 0.990000] NET: Registered protocol family 17 [ 1.000000] NET: Registered protocol family 15 [ 1.010000] Registering the dns_resolver key type [ 1.030000] registered taskstats version 1 [ 1.040000] scsi: waiting for bus probes to complete ... [ 1.750000] sending SDTR 0103015e00 0103015e00 sync_xfer=30 [ 1.780000] scsi 0:0:6:0: Direct-Access ST325082 4A 3.AA PQ: 0 ANSI: 2 [ 1.810000] /data/linux/m68k/linux-2.6-2.6.39/debian/build/source_m68k_none/drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 1.830000] sd 0:0:6:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB) [ 1.840000] sd 0:0:6:0: [sda] Write Protect is off [ 1.850000] sd 0:0:6:0: [sda] Mode Sense: 03 00 00 08 [ 1.870000] sd 0:0:6:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 1.890000] sda: detected capacity change from 0 to 250059350016 [ 1.930000] sda: RDSK (512) sda1 (DOS^C)(res 2 spb 1) sda2 (DOS^C)(res 2 spb 1) sda3 (LNX^@)(res 2 spb 1) sda4 (LNX^@)(res 2 spb 1) sda5 (LNX^@)(res 2 spb 1) sda6 (LNX^@)(res 2 spb 1) sda7 (LNX^@)(res 2 spb 1) sda8 (SWP^@)(res 2 spb 1) [ 1.980000] sd 0:0:6:0: [sda] Attached SCSI disk [ 2.020000] EXT3-fs: barriers not enabled [ 2.050000] kjournald starting. Commit interval 5 seconds [ 2.060000] EXT3-fs (sda3): mounted filesystem with ordered data mode [ 2.080000] VFS: Mounted root (ext3 filesystem) readonly on device 8:3. [ 2.130000] Not activating Mandatory Access Control now since /sbin/tomoyo-init doesn't exist. [ 15.000000] eth0: Features changed: 0x00004800 -> 0x00004000 [ 15.020000] eth0: Ariadne II at 0x00e90000, Ethernet Address 00:60:30:00:41:5b [ 17.320000] rtc-rp5c01 rtc-rp5c01: rtc core: registered rtc-rp5c01 as rtc0 [ 17.600000] Z2RAM: using 0K Zorro II RAM and 1024K Chip RAM (Total 1024K) [ 19.400000] Amiga DMA sound driver rev 016 installed [ 19.410000] Core driver edition 01.06 : AMIGA driver edition 00.04 [ 19.420000] Write will use 4 fragments of 32768 bytes as default [ 23.360000] parport0: Amiga built-in port using irq [ 23.450000] parport0: fix this legacy no-device port driver! [ 31.720000] Adding 2096092k swap on /dev/sda8. Priority:-1 extents:1 across:2096092k [ 33.830000] EXT3-fs (sda3): using internal journal [ 37.180000] loop: module loaded [ 64.390000] NET: Registered protocol family 10 [ 536.000000] eth0: trigger_send() called with the transmitter busy. [ 536.260000] eth0: mismatched read page pointers 1 vs ff. [ 536.270000] eth0: mismatched read page pointers 1 vs ff. [ 536.280000] eth0: mismatched read page pointers 1 vs ff. [ 536.290000] eth0: mismatched read page pointers 1 vs 0. [ 536.300000] eth0: mismatched read page pointers 1d vs ff. [ 536.310000] eth0: trigger_send() called with the transmitter busy. [ 536.330000] eth0: mismatched read page pointers 5 vs ff. [ 536.340000] eth0: mismatched read page pointers 1 vs 1f. [ 536.350000] eth0: mismatched read page pointers 5 vs ff. [ 536.360000] eth0: mismatched read page pointers 1 vs ff. [ 536.370000] eth0: mismatched read page pointers 1 vs ff. [ 536.390000] eth0: mismatched read page pointers 5 vs ff. [ 536.400000] eth0: mismatched read page pointers 1 vs 0. [ 536.410000] eth0: mismatched read page pointers 5 vs ff. [ 536.420000] eth0: mismatched read page pointers 1 vs ff. [ 536.430000] eth0: mismatched read page pointers 1 vs ff. [ 536.440000] eth0: mismatched read page pointers 1 vs 0. [ 536.460000] eth0: mismatched read page pointers 1 vs ff. [ 536.470000] eth0: mismatched read page pointers 1 vs ff. [ 536.480000] eth0: mismatched read page pointers 5 vs 0. [ 536.490000] eth0: mismatched read page pointers 1 vs ff. ... this goes on and on for 25 seconds, until I rebooted the machine, it was completely unresponsive via the network and on the console. Christian ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers (was: Re: Debian kernel 2.6.38-5) 2011-05-23 20:44 ` Christian T. Steigies @ 2011-05-24 10:06 ` Finn Thain 2011-05-24 11:33 ` Finn Thain 2011-07-18 9:46 ` Finn Thain 1 sibling, 1 reply; 14+ messages in thread From: Finn Thain @ 2011-05-24 10:06 UTC (permalink / raw) To: Christian T. Steigies; +Cc: Linux/m68k It's a bit of a shot in the dark, but I'd try reversing this patch: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=0c1aa20fb87b796d904f4d89ad12e5a0c483127b If that doesn't help, you may have to bisect past the introduction of TLS (mainline 2.6.34) which means you'll need busybox or an old userland. Finn On Mon, 23 May 2011, Christian T. Steigies wrote: > [ 15.020000] eth0: Ariadne II at 0x00e90000, Ethernet Address 00:60:30:00:41:5b > [ 536.000000] eth0: trigger_send() called with the transmitter busy. > [ 536.260000] eth0: mismatched read page pointers 1 vs ff. > [ 536.270000] eth0: mismatched read page pointers 1 vs ff. > [ 536.280000] eth0: mismatched read page pointers 1 vs ff. > [ 536.290000] eth0: mismatched read page pointers 1 vs 0. > [ 536.300000] eth0: mismatched read page pointers 1d vs ff. > [ 536.310000] eth0: trigger_send() called with the transmitter busy. > [ 536.330000] eth0: mismatched read page pointers 5 vs ff. > [ 536.340000] eth0: mismatched read page pointers 1 vs 1f. > [ 536.350000] eth0: mismatched read page pointers 5 vs ff. > [ 536.360000] eth0: mismatched read page pointers 1 vs ff. > [ 536.370000] eth0: mismatched read page pointers 1 vs ff. > [ 536.390000] eth0: mismatched read page pointers 5 vs ff. > [ 536.400000] eth0: mismatched read page pointers 1 vs 0. > [ 536.410000] eth0: mismatched read page pointers 5 vs ff. > [ 536.420000] eth0: mismatched read page pointers 1 vs ff. > [ 536.430000] eth0: mismatched read page pointers 1 vs ff. > [ 536.440000] eth0: mismatched read page pointers 1 vs 0. > [ 536.460000] eth0: mismatched read page pointers 1 vs ff. > [ 536.470000] eth0: mismatched read page pointers 1 vs ff. > [ 536.480000] eth0: mismatched read page pointers 5 vs 0. > [ 536.490000] eth0: mismatched read page pointers 1 vs ff. > ... > this goes on and on for 25 seconds, until I rebooted the machine, it was > completely unresponsive via the network and on the console. > > Christian > -- > To unsubscribe from this list: send the line "unsubscribe linux-m68k" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers (was: Re: Debian kernel 2.6.38-5) 2011-05-24 10:06 ` Finn Thain @ 2011-05-24 11:33 ` Finn Thain 0 siblings, 0 replies; 14+ messages in thread From: Finn Thain @ 2011-05-24 11:33 UTC (permalink / raw) To: Christian T. Steigies; +Cc: Linux/m68k On Tue, 24 May 2011, Finn Thain wrote: > > It's a bit of a shot in the dark, but I'd try reversing this patch: Ignore that. The patch isn't what I thought. I guess I will to have to set up some mac8390 hardware before I can be of any help with this bug. Finn ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers (was: Re: Debian kernel 2.6.38-5) 2011-05-23 20:44 ` Christian T. Steigies 2011-05-24 10:06 ` Finn Thain @ 2011-07-18 9:46 ` Finn Thain 2011-07-19 11:31 ` Finn Thain 1 sibling, 1 reply; 14+ messages in thread From: Finn Thain @ 2011-07-18 9:46 UTC (permalink / raw) To: Christian T. Steigies; +Cc: Linux/m68k On Mon, 23 May 2011, Christian T. Steigies wrote: > > Here is the output from dmesg for linux-2.6.39 as built from Debian > sources. zorro8390.c includes the patch Finn and Geert sent earlier, so > the network works, for about 10 minutes. Then this happens (with my > earlier built kernel from linux-m68k git with the patch, it seems to > work longer, but I did not run a long test series): > ... > [ 15.000000] eth0: Features changed: 0x00004800 -> 0x00004000 > [ 15.020000] eth0: Ariadne II at 0x00e90000, Ethernet Address 00:60:30:00:41:5b ... > [ 536.000000] eth0: trigger_send() called with the transmitter busy. > [ 536.260000] eth0: mismatched read page pointers 1 vs ff. > [ 536.270000] eth0: mismatched read page pointers 1 vs ff. > [ 536.280000] eth0: mismatched read page pointers 1 vs ff. > [ 536.290000] eth0: mismatched read page pointers 1 vs 0. > [ 536.300000] eth0: mismatched read page pointers 1d vs ff. > [ 536.310000] eth0: trigger_send() called with the transmitter busy. > [ 536.330000] eth0: mismatched read page pointers 5 vs ff. > [ 536.340000] eth0: mismatched read page pointers 1 vs 1f. > [ 536.350000] eth0: mismatched read page pointers 5 vs ff. > [ 536.360000] eth0: mismatched read page pointers 1 vs ff. > [ 536.370000] eth0: mismatched read page pointers 1 vs ff. > [ 536.390000] eth0: mismatched read page pointers 5 vs ff. > [ 536.400000] eth0: mismatched read page pointers 1 vs 0. > [ 536.410000] eth0: mismatched read page pointers 5 vs ff. > [ 536.420000] eth0: mismatched read page pointers 1 vs ff. > [ 536.430000] eth0: mismatched read page pointers 1 vs ff. > [ 536.440000] eth0: mismatched read page pointers 1 vs 0. > [ 536.460000] eth0: mismatched read page pointers 1 vs ff. > [ 536.470000] eth0: mismatched read page pointers 1 vs ff. > [ 536.480000] eth0: mismatched read page pointers 5 vs 0. > [ 536.490000] eth0: mismatched read page pointers 1 vs ff. > ... For comparison, here are the results from mac8390 (2.6.39). I don't know whether this is the same bug or not. I have only tested one 8390 card and only in one system (the SONIC in the same system works fine, but that's a completely different driver). I've not tested any older kernels yet but I'll try that next. ... mac8390: v0.4 2001-05-15 David Huggins-Daines <dhd@debian.org> and others mac8390: eth0: Memory length resource for slot E not found, probing mac8390: eth0: EtherNet card in slot E (type apple) mac8390: MAC 00:a0:4b:00:e1:2c IRQ 61, 32 KB shared memory at 0xfeed0000, 16-bit access. ... ------------[ cut here ]------------ WARNING: at net/sched/sch_generic.c:256 dev_watchdog+0x1ac/0x1cc() NETDEV WATCHDOG: eth0 (): transmit queue 0 timed out Modules linked in: Call Trace: [<0001db8a>] warn_slowpath_common+0x48/0x6a [<0001db98>] warn_slowpath_common+0x56/0x6a [<0001dc24>] warn_slowpath_fmt+0x2a/0x32 [<001e08a6>] dev_watchdog+0x1ac/0x1cc [<001e08a6>] dev_watchdog+0x1ac/0x1cc [<00026dae>] cascade+0x0/0xb0 [<0002ce16>] __queue_work+0x8e/0x242 [<00026dae>] cascade+0x0/0xb0 [<0002cfea>] delayed_work_timer_fn+0x20/0x3c [<00026fca>] run_timer_softirq+0xee/0x272 [<000495f4>] rcu_bh_qs+0x0/0x5a [<0025095a>] printk+0x0/0x1e [<00022432>] __do_softirq+0x6e/0xd2 [<00001000>] kernel_pg_dir+0x0/0x1000 [<00250c66>] schedule+0x0/0x330 [<00002000>] _start+0x0/0x8 [<00022566>] do_softirq+0x28/0x2c [<000026d0>] ret_from_exception+0x0/0xc [<00001000>] kernel_pg_dir+0x0/0x1000 [<00002a44>] default_idle+0x0/0xc [<00002cf8>] cpu_idle+0x16/0x22 [<0025095a>] printk+0x0/0x1e [<0031dfb4>] start_kernel+0x360/0x36c [<00003fe3>] buserr_c+0x621/0x632 [<00003fe3>] buserr_c+0x621/0x632 [<0031c3d2>] _sinittext+0x3d2/0xa44 ---[ end trace 69dff76f1afe57c6 ]--- eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=71. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=65. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=94. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=96. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=98. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. last message repeated 2 times eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. last message repeated 2 times eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. last message repeated 3 times eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=40. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=40. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=39. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=76. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. last message repeated 2 times eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=88. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=98. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=96. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=93. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=83. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. last message repeated 4 times eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. last message repeated 2 times eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. last message repeated 2 times eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. last message repeated 2 times eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. last message repeated 2 times eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. last message repeated 2 times eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. last message repeated 2 times eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. last message repeated 19 times eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x2, t=73. eth0: Tx timed out, lost interrupt? TSR=0x5, ISR=0x3, t=97. eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=99. last message repeated 2 times eth0: Tx timed out, lost interrupt? TSR=0x1, ISR=0x3, t=100. last message repeated 3 times ... ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers (was: Re: Debian kernel 2.6.38-5) 2011-07-18 9:46 ` Finn Thain @ 2011-07-19 11:31 ` Finn Thain 2011-07-19 13:55 ` Finn Thain 0 siblings, 1 reply; 14+ messages in thread From: Finn Thain @ 2011-07-19 11:31 UTC (permalink / raw) To: Christian T. Steigies; +Cc: Linux/m68k On Mon, 18 Jul 2011, I wrote: > I've not tested any older kernels yet but I'll try that next. I tested 2.6.29 and mac8390 fails like 2.6.39 in this system. This also required a backport of the patch discussed earlier in this thread, since 2.6.29 has commit ca17584bf2ad1b1e37a5c0e4386728cc5fc9dabc. I also tested 2.6.19 which pre-dates that commit, and it too failed in the same way. Anyway, the mac8390 driver issue here may be unrelated to your zorro8390 bug (and may simply be a quirk of this particular card). It might be useful to know whether an older kernel works for you. Likewise it would be useful to test the apne driver (Amiga PCMCIA NE-2000 NIC). I don't have the hardware for that either. Finn ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers (was: Re: Debian kernel 2.6.38-5) 2011-07-19 11:31 ` Finn Thain @ 2011-07-19 13:55 ` Finn Thain 2011-07-20 0:32 ` Michael Schmitz 0 siblings, 1 reply; 14+ messages in thread From: Finn Thain @ 2011-07-19 13:55 UTC (permalink / raw) To: Christian T. Steigies; +Cc: Linux/m68k On Tue, 19 Jul 2011, I wrote: > > I tested 2.6.29 and mac8390 fails like 2.6.39 in this system. This also > required a backport of the patch discussed earlier in this thread, since > 2.6.29 has commit ca17584bf2ad1b1e37a5c0e4386728cc5fc9dabc. > > I also tested 2.6.19 which pre-dates that commit, and it too failed in > the same way. > > Anyway, the mac8390 driver issue here may be unrelated to your zorro8390 > bug (and may simply be a quirk of this particular card). It turns out that the mac8390 issue is unrelated. The cause was the old nubus interrupt problem. I worked around it and after that the driver passed a 1 hour smoke test (several simultaneous ping floods running locally and remotely with neglible packet loss). So, what's the difference between mac8390 and zorro8390? In the mac8390 case, there is only one way for lib8390.c symbols to end up in the link, and that is mac8390. On amiga, it is a different story: there's at least apne, zorro8390 and the ISA NE-2000 drivers that could be pulling in these symbols. So I think you should try this patch, which takes the same approach that's used in ax88796.c. HTH Finn Index: linux-2.6.39/drivers/net/zorro8390.c =================================================================== --- linux-2.6.39.orig/drivers/net/zorro8390.c 2011-05-19 14:06:34.000000000 +1000 +++ linux-2.6.39/drivers/net/zorro8390.c 2011-07-19 23:39:19.000000000 +1000 @@ -34,6 +34,18 @@ #include <asm/amigaints.h> #include <asm/amigahw.h> +/* Rename the lib8390.c functions to prevent ambiguity at link time */ +#define __ei_open zo_ei_open +#define __ei_close zo_ei_close +#define __ei_poll zo_ei_poll +#define __ei_start_xmit zo_ei_start_xmit +#define __ei_tx_timeout zo_ei_tx_timeout +#define __ei_get_stats zo_ei_get_stats +#define __ei_set_multicast_list zo_ei_set_multicast_list +#define __ei_interrupt zo_ei_interrupt +#define ____alloc_ei_netdev zo__alloc_ei_netdev +#define __NS8390_init zo_NS8390_init + #define EI_SHIFT(x) (ei_local->reg_offset[x]) #define ei_inb(port) in_8(port) #define ei_outb(val,port) out_8(port,val) @@ -85,8 +97,6 @@ static int __devinit zorro8390_init_one( static int __devinit zorro8390_init(struct net_device *dev, unsigned long board, const char *name, unsigned long ioaddr); -static int zorro8390_open(struct net_device *dev); -static int zorro8390_close(struct net_device *dev); static void zorro8390_reset_8390(struct net_device *dev); static void zorro8390_get_8390_hdr(struct net_device *dev, struct e8390_pkt_hdr *hdr, int ring_page); @@ -126,7 +136,7 @@ static int __devinit zorro8390_init_one( board = z->resource.start; ioaddr = board+cards[i].offset; - dev = ____alloc_ei_netdev(0); + dev = zo__alloc_ei_netdev(0); if (!dev) return -ENOMEM; if (!request_mem_region(ioaddr, NE_IO_EXTENT*2, DRV_NAME)) { @@ -144,17 +154,17 @@ static int __devinit zorro8390_init_one( } static const struct net_device_ops zorro8390_netdev_ops = { - .ndo_open = zorro8390_open, - .ndo_stop = zorro8390_close, - .ndo_start_xmit = __ei_start_xmit, - .ndo_tx_timeout = __ei_tx_timeout, - .ndo_get_stats = __ei_get_stats, - .ndo_set_multicast_list = __ei_set_multicast_list, + .ndo_open = zo_ei_open, + .ndo_stop = zo_ei_close, + .ndo_start_xmit = zo_ei_start_xmit, + .ndo_tx_timeout = zo_ei_tx_timeout, + .ndo_get_stats = zo_ei_get_stats, + .ndo_set_multicast_list = zo_ei_set_multicast_list, .ndo_validate_addr = eth_validate_addr, .ndo_set_mac_address = eth_mac_addr, .ndo_change_mtu = eth_change_mtu, #ifdef CONFIG_NET_POLL_CONTROLLER - .ndo_poll_controller = __ei_poll, + .ndo_poll_controller = zo_ei_poll, #endif }; @@ -227,7 +237,7 @@ static int __devinit zorro8390_init(stru dev->irq = IRQ_AMIGA_PORTS; /* Install the Interrupt handler */ - i = request_irq(IRQ_AMIGA_PORTS, __ei_interrupt, IRQF_SHARED, DRV_NAME, dev); + i = request_irq(IRQ_AMIGA_PORTS, zo_ei_interrupt, IRQF_SHARED, DRV_NAME, dev); if (i) return i; for(i = 0; i < ETHER_ADDR_LEN; i++) @@ -251,7 +261,7 @@ static int __devinit zorro8390_init(stru ei_status.reg_offset = zorro8390_offsets; dev->netdev_ops = &zorro8390_netdev_ops; - __NS8390_init(dev, 0); + zo_NS8390_init(dev, 0); err = register_netdev(dev); if (err) { free_irq(IRQ_AMIGA_PORTS, dev); @@ -264,20 +274,6 @@ static int __devinit zorro8390_init(stru return 0; } -static int zorro8390_open(struct net_device *dev) -{ - __ei_open(dev); - return 0; -} - -static int zorro8390_close(struct net_device *dev) -{ - if (ei_debug > 1) - printk(KERN_DEBUG "%s: Shutting down ethercard.\n", dev->name); - __ei_close(dev); - return 0; -} - /* Hard reset the card. This used to pause for the same period that a 8390 reset command required, but that shouldn't be necessary. */ static void zorro8390_reset_8390(struct net_device *dev) @@ -425,7 +421,7 @@ static void zorro8390_block_output(struc printk(KERN_ERR "%s: timeout waiting for Tx RDC.\n", dev->name); zorro8390_reset_8390(dev); - __NS8390_init(dev,1); + zo_NS8390_init(dev,1); break; } ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers (was: Re: Debian kernel 2.6.38-5) 2011-07-19 13:55 ` Finn Thain @ 2011-07-20 0:32 ` Michael Schmitz 2011-07-20 3:36 ` Finn Thain 0 siblings, 1 reply; 14+ messages in thread From: Michael Schmitz @ 2011-07-20 0:32 UTC (permalink / raw) To: Finn Thain; +Cc: Christian T. Steigies, Linux/m68k Hi Finn, On Wed, Jul 20, 2011 at 1:55 AM, Finn Thain <fthain@telegraphics.com.au> wrote: > > On Tue, 19 Jul 2011, I wrote: > >> >> I tested 2.6.29 and mac8390 fails like 2.6.39 in this system. This also >> required a backport of the patch discussed earlier in this thread, since >> 2.6.29 has commit ca17584bf2ad1b1e37a5c0e4386728cc5fc9dabc. >> >> I also tested 2.6.19 which pre-dates that commit, and it too failed in >> the same way. >> >> Anyway, the mac8390 driver issue here may be unrelated to your zorro8390 >> bug (and may simply be a quirk of this particular card). > > It turns out that the mac8390 issue is unrelated. The cause was the old > nubus interrupt problem. I worked around it and after that the driver > passed a 1 hour smoke test (several simultaneous ping floods running > locally and remotely with neglible packet loss). > > So, what's the difference between mac8390 and zorro8390? In the mac8390 > case, there is only one way for lib8390.c symbols to end up in the link, > and that is mac8390. > > On amiga, it is a different story: there's at least apne, zorro8390 and > the ISA NE-2000 drivers that could be pulling in these symbols. So I think > you should try this patch, which takes the same approach that's used in > ax88796.c. Is lib8390.c ever compiled standalone (as opposed to it being included in each driver)? Either way, to avoid multiple inclusion of lib8390 symbols confusing the zorro8390 driver, Christian could disable the apne and eventual other ISA 8390 drivers in the build. If that's not helping, something in the Amiga interrupt code may be at fault. Your Mac driver withstands a flood ping OK (that still leaves you open to concurrent net and disk I/O presenting a problem BTW - transferring a big amount of data using netcat might be a better approximation of Christian's problem). The Atari EtherNEC driver has withstood 15 minutes of single-source flooding with a single log message: Jul 20 02:26:24 hobbes kernel: eth0: bogus packet: status=0x37 nxpg=0x4f size=102 I've seen that quite a bit when transferring files in the past, but it never stopped the driver from working. The main difference between the EtherNEC driver and the other 8390 drivers is that I still link to 8390.o explicitly, instead of including lib8390.c (shame on me). Cheers, Michael ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers (was: Re: Debian kernel 2.6.38-5) 2011-07-20 0:32 ` Michael Schmitz @ 2011-07-20 3:36 ` Finn Thain 2011-07-23 3:41 ` 8390 drivers Michael Schmitz 0 siblings, 1 reply; 14+ messages in thread From: Finn Thain @ 2011-07-20 3:36 UTC (permalink / raw) To: Michael Schmitz; +Cc: Christian T. Steigies, Linux/m68k On Wed, 20 Jul 2011, Michael Schmitz wrote: > Is lib8390.c ever compiled standalone (as opposed to it being included > in each driver)? That probably depends on Christian's .config (I don't know how modularity affects things) but in general yes: apne.c links in 8390.o. (Whereas hydra and zorro8390 #include the library.) > Either way, to avoid multiple inclusion of lib8390 symbols confusing the > zorro8390 driver, Christian could disable the apne and eventual other > ISA 8390 drivers in the build. If he did that instead of testing the patch, and fixed the problem, he would then have to perform another test for the same patch, no? > > If that's not helping, something in the Amiga interrupt code may be at > fault. Your Mac driver withstands a flood ping OK (that still leaves you > open to concurrent net and disk I/O presenting a problem BTW - > transferring a big amount of data using netcat might be a better > approximation of Christian's problem). Yes, but if the NIC works with idle disk and fails with SCSI load, would you not blame the VIA driver? Anyway, I shall try that test before I send the patch for the VIA driver to fix the nubus slot IRQ issue. > The Atari EtherNEC driver has withstood 15 minutes of single-source > flooding with a single log message: > > Jul 20 02:26:24 hobbes kernel: eth0: bogus packet: status=0x37 > nxpg=0x4f size=102 > > I've seen that quite a bit when transferring files in the past, but it > never stopped the driver from working. > > The main difference between the EtherNEC driver and the other 8390 > drivers is that I still link to 8390.o explicitly, instead of including > lib8390.c (shame on me). I guess there are benefits to each approach? I assume that linking to 8390.o, though simpler, would end up slower (?) Finn > > Cheers, > > Michael ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers 2011-07-20 3:36 ` Finn Thain @ 2011-07-23 3:41 ` Michael Schmitz 2011-07-23 6:03 ` Finn Thain 0 siblings, 1 reply; 14+ messages in thread From: Michael Schmitz @ 2011-07-23 3:41 UTC (permalink / raw) To: Finn Thain; +Cc: Michael Schmitz, Christian T. Steigies, Linux/m68k Hi Finn, >> Is lib8390.c ever compiled standalone (as opposed to it being included >> in each driver)? >> > > That probably depends on Christian's .config (I don't know how modularity > affects things) but in general yes: apne.c links in 8390.o. (Whereas hydra > and zorro8390 #include the library.) > OK, I missed apne.c here - not sure it is even built in the default config though. >> Either way, to avoid multiple inclusion of lib8390 symbols confusing the >> zorro8390 driver, Christian could disable the apne and eventual other >> ISA 8390 drivers in the build. >> > > If he did that instead of testing the patch, and fixed the problem, he > would then have to perform another test for the same patch, no? > Right - I'm working on the assumption it is not necessarily symbol clashes. Duplicate symbols should have been reported at link time (or when a module is inserted, at latest). >> If that's not helping, something in the Amiga interrupt code may be at >> fault. Your Mac driver withstands a flood ping OK (that still leaves you >> open to concurrent net and disk I/O presenting a problem BTW - >> transferring a big amount of data using netcat might be a better >> approximation of Christian's problem). >> > > Yes, but if the NIC works with idle disk and fails with SCSI load, would > you not blame the VIA driver? > Not necessarily - there may be a driver locking out interrupts for too long so the timeout happens before the interrupt gets serviced. Not very likely - the timeout would have to run before the net bottom half. > Anyway, I shall try that test before I send the patch for the VIA driver > to fix the nubus slot IRQ issue. > > >> The Atari EtherNEC driver has withstood 15 minutes of single-source >> flooding with a single log message: >> >> Jul 20 02:26:24 hobbes kernel: eth0: bogus packet: status=0x37 >> nxpg=0x4f size=102 >> >> I've seen that quite a bit when transferring files in the past, but it >> never stopped the driver from working. >> >> The main difference between the EtherNEC driver and the other 8390 >> drivers is that I still link to 8390.o explicitly, instead of including >> lib8390.c (shame on me). >> > > I guess there are benefits to each approach? I assume that linking to > 8390.o, though simpler, would end up slower (?) > That, and it ends up not using net_ops in the driver at all. Obsolete interface ... Michael > Finn > > >> Cheers, >> >> Michael >> ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: 8390 drivers 2011-07-23 3:41 ` 8390 drivers Michael Schmitz @ 2011-07-23 6:03 ` Finn Thain 0 siblings, 0 replies; 14+ messages in thread From: Finn Thain @ 2011-07-23 6:03 UTC (permalink / raw) To: Michael Schmitz; +Cc: Christian T. Steigies, Linux/m68k On Sat, 23 Jul 2011, Michael Schmitz wrote: > Duplicate symbols should have been reported at link time (or when a > module is inserted, at latest). I'm not so sure. If I change "mac8390.o" to "mac8390.o 8390.o" in drivers/net/Makefile, I get some compiler warnings but that's all. (I didn't try booting it. Also mac8390 is built-in -- apparently it doesn't do modular). > > Yes, but if the NIC works with idle disk and fails with SCSI load, > > would you not blame the VIA driver? > > > Not necessarily - there may be a driver locking out interrupts for too > long so the timeout happens before the interrupt gets serviced. Not very > likely - the timeout would have to run before the net bottom half. If that were the kind of bug affecting Christian's machine, it seems unlikely that it would show up on a Mac. But I will add disk I/O to the stress test and report anything relevant. > > I guess there are benefits to each approach? I assume that linking to > > 8390.o, though simpler, would end up slower (?) > > > That, and it ends up not using net_ops in the driver at all. Obsolete > interface ... hydra.c, zorro8390.c, 8390.c and 8390p.c all have have net_device_ops structs these days. I think everything got converted a year or so back. Finn ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2011-07-23 6:03 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-05-09 20:38 8390 drivers (was: Re: Debian kernel 2.6.38-5) Geert Uytterhoeven 2011-05-09 21:32 ` Christian T. Steigies 2011-05-10 6:52 ` Geert Uytterhoeven 2011-05-10 7:29 ` Christian T. Steigies 2011-05-23 20:44 ` Christian T. Steigies 2011-05-24 10:06 ` Finn Thain 2011-05-24 11:33 ` Finn Thain 2011-07-18 9:46 ` Finn Thain 2011-07-19 11:31 ` Finn Thain 2011-07-19 13:55 ` Finn Thain 2011-07-20 0:32 ` Michael Schmitz 2011-07-20 3:36 ` Finn Thain 2011-07-23 3:41 ` 8390 drivers Michael Schmitz 2011-07-23 6:03 ` Finn Thain
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox