]> err.no Git - linux-2.6/commitdiff
Blackfin EMAC driver: Fix Ethernet communication bug (dupliated and lost packets)
authorMichael Hennerich <michael.hennerich@analog.com>
Tue, 30 Oct 2007 09:04:09 +0000 (17:04 +0800)
committerJeff Garzik <jeff@garzik.org>
Tue, 30 Oct 2007 18:32:16 +0000 (14:32 -0400)
Fix Ethernet communication bug(dupliated and lost packets)
in RMII PHY mode- dont call mac_disable and mac_enable during
10/100 REFCLK changes - mac_enable screws up the DMA descriptor chain

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/bfin_mac.c

index 53fe7ded5d509275b0827891f4551d376e6b749d..084acfd6fc5fdaeba614a7e20302c89f3842546f 100644 (file)
@@ -371,7 +371,6 @@ static void bf537_adjust_link(struct net_device *dev)
                if (phydev->speed != lp->old_speed) {
 #if defined(CONFIG_BFIN_MAC_RMII)
                        u32 opmode = bfin_read_EMAC_OPMODE();
-                       bf537mac_disable();
                        switch (phydev->speed) {
                        case 10:
                                opmode |= RMII_10;
@@ -386,7 +385,6 @@ static void bf537_adjust_link(struct net_device *dev)
                                break;
                        }
                        bfin_write_EMAC_OPMODE(opmode);
-                       bf537mac_enable();
 #endif
 
                        new_state = 1;