From: Florian Fainelli Date: Sun, 16 May 2010 12:36:26 +0000 (+0000) Subject: fix link checking with switches, only port1 of switches would report link up X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=d0ba4453a3d7ccdc12c89c00b3f1ea2b5a76964c;p=openwrt%2Fstaging%2Frobimarko.git fix link checking with switches, only port1 of switches would report link up SVN-Revision: 21471 --- diff --git a/target/linux/rdc/patches-2.6.32/013-r6040_fix_mii_check_media.patch b/target/linux/rdc/patches-2.6.32/013-r6040_fix_mii_check_media.patch new file mode 100644 index 0000000000..41be86aa18 --- /dev/null +++ b/target/linux/rdc/patches-2.6.32/013-r6040_fix_mii_check_media.patch @@ -0,0 +1,33 @@ +diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c +index 4122916..eeee379 100644 +--- a/drivers/net/r6040.c ++++ b/drivers/net/r6040.c +@@ -400,9 +400,6 @@ static void r6040_init_mac_regs(struct net_device *dev) + * we may got called by r6040_tx_timeout which has left + * some unsent tx buffers */ + iowrite16(0x01, ioaddr + MTPR); +- +- /* Check media */ +- mii_check_media(&lp->mii_if, 1, 1); + } + + static void r6040_tx_timeout(struct net_device *dev) +@@ -530,8 +527,6 @@ static int r6040_phy_mode_chk(struct net_device *dev) + phy_dat = 0x0000; + } + +- mii_check_media(&lp->mii_if, 0, 1); +- + return phy_dat; + }; + +@@ -813,6 +808,9 @@ static void r6040_timer(unsigned long data) + + /* Timer active again */ + mod_timer(&lp->timer, round_jiffies(jiffies + HZ)); ++ ++ /* Check media */ ++ mii_check_media(&lp->mii_if, 1, 1); + } + + /* Read/set MAC address routines */