Re: Correction: 2.6.16-git12 killed networking -- 3c900 card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Patch applied on top of previous patch to 2.6.16, no longer
seeing the timeouts.

  > Pete Clements <[email protected]> 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.
  > 
  > If it's noether of those then I'd expect the problem relates to the
  > conversion to use the standard mii layer.  Possibly we need to re-port some
  > mdo reading oddity into 3c59x.c:mdio_read(), but it would take some effort
  > to work out which one.
  > 
  > You could try this shot-in-the-dark:
  > 
  > 
  > diff -puN drivers/net/3c59x.c~revert-3c59x-avoid-blindly-reading-link-status-twice drivers/net/3c59x.c
  > --- devel/drivers/net/3c59x.c~revert-3c59x-avoid-blindly-reading-link-status-twice	2006-03-28 22:51:52.000000000 -0800
  > +++ devel-akpm/drivers/net/3c59x.c	2006-03-28 23:00:47.000000000 -0800
  > @@ -3196,7 +3196,7 @@ static void mdio_sync(void __iomem *ioad
  >  	}
  >  }
  >  
  > -static int mdio_read(struct net_device *dev, int phy_id, int location)
  > +static int __mdio_read(struct net_device *dev, int phy_id, int location)
  >  {
  >  	int i;
  >  	struct vortex_private *vp = netdev_priv(dev);
  > @@ -3227,6 +3227,13 @@ static int mdio_read(struct net_device *
  >  	return retval & 0x20000 ? 0xffff : retval>>1 & 0xffff;
  >  }
  >  
  > +static int mdio_read(struct net_device *dev, int phy_id, int location)
  > +{
  > +	if (location == MII_BMSR)
  > +		__mdio_read(dev, phy_id, location);
  > +	return __mdio_read(dev, phy_id, location);
  > +}
  > +
  >  static void mdio_write(struct net_device *dev, int phy_id, int location, int value)
  >  {
  >  	struct vortex_private *vp = netdev_priv(dev);
  > _
  > 


-- 
Pete Clements 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux