Messages in this thread | | | Date | Wed, 29 Mar 2006 11:14:33 +0200 | From | Steffen Klassert <> | Subject | Re: Correction: 2.6.16-git12 killed networking -- 3c900 card |
| |
On Tue, Mar 28, 2006 at 10:43:08PM -0800, Andrew Morton wrote: > Pete Clements <clem@clem.clem-digital.net> wrote: > > > > Quoting Steffen Klassert > > > > Had several of these with git11 > > > > NETDEV WATCHDOG: eth0: transmit timed out > > > > > > Is this for sure that these messages occured first time with git11? > > > There were no changes in the 3c59x driver between git10 and git11. > > > > > Tried 2.6.15 and could not get a timed out condition. Looks like > > that defect is between 15 and 16 in my case. > > > > Be glad to do any testing that I can. > >
I will try to borrow a coax cable and see whats up with 10base2.
> > Well here's one. Steffen, please confirm. > > > From: Andrew Morton <akpm@osdl.org> > > The pre-2.6.16 patch "3c59x collision statistics fix" accidentally caused > vortex_error() to not run iowrite16(TxEnable, ioaddr + EL3_CMD) if we got a > maxCollisions interrupt but MAX_COLLISION_RESET is not set.
True, this can explain the transmit timed out messages.
Acked-by: Steffen Klassert <klassert@mathematik.tu-chemnitz.de>
> > Cc: Steffen Klassert <klassert@mathematik.tu-chemnitz.de> > Cc: Pete Clements <clem@clem.clem-digital.net> > Signed-off-by: Andrew Morton <akpm@osdl.org> > --- > > drivers/net/3c59x.c | 12 +++++------- > 1 files changed, 5 insertions(+), 7 deletions(-) > > diff -puN drivers/net/3c59x.c~3c59x-collision-statistics-fix-fix drivers/net/3c59x.c > --- devel/drivers/net/3c59x.c~3c59x-collision-statistics-fix-fix 2006-03-28 22:36:48.000000000 -0800 > +++ devel-akpm/drivers/net/3c59x.c 2006-03-28 22:40:01.000000000 -0800 > @@ -2085,16 +2085,14 @@ vortex_error(struct net_device *dev, int > } > if (tx_status & 0x14) vp->stats.tx_fifo_errors++; > if (tx_status & 0x38) vp->stats.tx_aborted_errors++; > + if (tx_status & 0x08) vp->xstats.tx_max_collisions++; > iowrite8(0, ioaddr + TxStatus); > if (tx_status & 0x30) { /* txJabber or txUnderrun */ > do_tx_reset = 1; > - } else if (tx_status & 0x08) { /* maxCollisions */ > - vp->xstats.tx_max_collisions++; > - if (vp->drv_flags & MAX_COLLISION_RESET) { > - do_tx_reset = 1; > - reset_mask = 0x0108; /* Reset interface logic, but not download logic */ > - } > - } else { /* Merely re-enable the transmitter. */ > + } else if ((tx_status & 0x08) && (vp->drv_flags & MAX_COLLISION_RESET)) { /* maxCollisions */ > + do_tx_reset = 1; > + reset_mask = 0x0108; /* Reset interface logic, but not download logic */ > + } else { /* Merely re-enable the transmitter. */ > iowrite16(TxEnable, ioaddr + EL3_CMD); > } > } > _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |