From: Michael Hennerich Date: Tue, 30 Oct 2007 09:04:09 +0000 (+0800) Subject: Blackfin EMAC driver: Fix Ethernet communication bug (dupliated and lost packets) X-Git-Tag: v2.6.24-rc2~75^2~7 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=2ea10b1a545562658b0eccb24b0feda3f77d4d36;p=linux-2.6-omap-h63xx.git Blackfin EMAC driver: Fix Ethernet communication bug (dupliated and lost packets) 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 Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index 53fe7ded5d5..084acfd6fc5 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c @@ -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;