diff options
author | Claudio Mignanti <c.mignanti@gmail.com> | 2010-07-22 11:32:42 +0000 |
---|---|---|
committer | Claudio Mignanti <c.mignanti@gmail.com> | 2010-07-22 11:32:42 +0000 |
commit | 4ccd3d000ff75c645d92f5c5d7b0ab1fd91ceced (patch) | |
tree | 59a20da321860529ecc936e2bf1f7468a755950b /target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch | |
parent | 2eb7eb9b04a2dd1edeac24c789c4f56d09a43e20 (diff) | |
download | master-187ad058-4ccd3d000ff75c645d92f5c5d7b0ab1fd91ceced.tar.gz master-187ad058-4ccd3d000ff75c645d92f5c5d7b0ab1fd91ceced.tar.bz2 master-187ad058-4ccd3d000ff75c645d92f5c5d7b0ab1fd91ceced.zip |
[at91] general cleanup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22352 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch')
-rw-r--r-- | target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch b/target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch deleted file mode 100644 index 756e014f02..0000000000 --- a/target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/drivers/net/arm/at91_ether.c -+++ b/drivers/net/arm/at91_ether.c -@@ -146,6 +146,7 @@ static void update_linkspeed(struct net_ - struct at91_private *lp = netdev_priv(dev); - unsigned int bmsr, bmcr, lpa, mac_cfg; - unsigned int speed, duplex; -+ unsigned long timeout = jiffies + HZ; - - if (!mii_link_ok(&lp->mii)) { /* no link */ - netif_carrier_off(dev); -@@ -158,8 +159,15 @@ static void update_linkspeed(struct net_ - read_phy(lp->phy_address, MII_BMSR, &bmsr); - read_phy(lp->phy_address, MII_BMCR, &bmcr); - if (bmcr & BMCR_ANENABLE) { /* AutoNegotiation is enabled */ -- if (!(bmsr & BMSR_ANEGCOMPLETE)) -- return; /* Do nothing - another interrupt generated when negotiation complete */ -+ while (!(bmsr & BMSR_ANEGCOMPLETE)) { -+ if (time_after(jiffies, timeout)) { -+ printk("at91_ether: Auto-negotiate timeout\n"); -+ return; -+ } -+ read_phy(lp->phy_address, MII_BMSR, &bmsr); -+ read_phy(lp->phy_address, MII_BMCR, &bmcr); -+ cpu_relax(); -+ } - - read_phy(lp->phy_address, MII_LPA, &lpa); - if ((lpa & LPA_100FULL) || (lpa & LPA_100HALF)) speed = SPEED_100; |