Messages in this thread Patch in this message | | | From | Keith Owens <> | Subject | Re: Tulip eth0 on a Multia keeps hanging... | Date | Mon, 05 Jul 1999 23:11:29 +1000 |
| |
On Mon, 5 Jul 1999 14:35:04 +0200 , Robin Elfrink <r.elfrink@autosound.nl> wrote: >Ever since the upgrade from 2.0.x to 2.2.x I'm having trouble with the >network interface on my Multia's, using the Tulip-driver. _After_ an >ftp/smb transfer _from_ the multia the interface has no network >connection, while the file being copied did get over the line fine. It >doesn't matter if the file is small or big. Usually an 'ifconfig eth0 >down; ifconfig eth0 up' makes ik work again.
Does "ifconfig eth0 promisc", "ifconfig eth0 -promisc" also fix the problem? If so it is probably a MAC filter problem on the tulip. Try this.
--- 2.2.10-ac8/drivers/net/tulip.c Wed Jan 20 08:18:45 1999 +++ linux/drivers/net/tulip.c Mon Jul 5 09:39:24 1999 @@ -2698,8 +2698,8 @@ /* Same setup recently queued, we need not add it. */ } else { unsigned long flags; - unsigned int entry; - + unsigned int entry, dummy = 0; + save_flags(flags); cli(); entry = tp->cur_tx++ % TX_RING_SIZE; @@ -2709,7 +2709,8 @@ tp->tx_ring[entry].length = (entry == TX_RING_SIZE-1) ? 0x02000000 : 0; tp->tx_ring[entry].buffer1 = 0; - tp->tx_ring[entry].status = 0x80000000; + /* race with chip, set DescOwned later */ + dummy = entry; entry = tp->cur_tx++ % TX_RING_SIZE; } @@ -2724,6 +2725,8 @@ dev->tbusy = 1; tp->tx_full = 1; } + if (dummy >= 0) + tp->tx_ring[dummy].status = DescOwned; restore_flags(flags); /* Trigger an immediate transmit demand. */ outl(0, ioaddr + CSR1);
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |