aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ibm_emac/ibm_emac_core.c
diff options
context:
space:
mode:
authorEugene Surovegin <ebs@ebshome.net>2005-12-27 12:36:41 -0800
committerJeff Garzik <jgarzik@pobox.com>2006-01-09 10:34:25 -0500
commit38843888e3e9fb7006d72d55b8e6ffcc925cf18a (patch)
treecd39ae82b4672ff76521dc645ca4a21f01baf613 /drivers/net/ibm_emac/ibm_emac_core.c
parent[PATCH] ieee80211: enable hw wep where host has to build IV (diff)
downloadlinux-dev-38843888e3e9fb7006d72d55b8e6ffcc925cf18a.tar.xz
linux-dev-38843888e3e9fb7006d72d55b8e6ffcc925cf18a.zip
[PATCH] PPC44x EMAC driver: disable TX status deferral in half-duplex mode
Disable TX status deferral (EMACx_MR[MWSW=001]) in half-duplex mode. I have two reports when EMAC stops transmitting when connected to a hub. TX ring debug printouts show complete mess when this happens, probably hardware collision handling doesn't work quite well in this mode. This is relevant only for SoCs with EMAC4 core (440GX, 440SP, 440SPe). Tested on 440GX. Signed-off-by: Eugene Surovegin <ebs@ebshome.net> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to '')
-rw-r--r--drivers/net/ibm_emac/ibm_emac_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ibm_emac/ibm_emac_core.c b/drivers/net/ibm_emac/ibm_emac_core.c
index 1da8a66f91e1..591c5864ffb1 100644
--- a/drivers/net/ibm_emac/ibm_emac_core.c
+++ b/drivers/net/ibm_emac/ibm_emac_core.c
@@ -408,7 +408,7 @@ static int emac_configure(struct ocp_enet_private *dev)
/* Mode register */
r = EMAC_MR1_BASE(emac_opb_mhz()) | EMAC_MR1_VLE | EMAC_MR1_IST;
if (dev->phy.duplex == DUPLEX_FULL)
- r |= EMAC_MR1_FDE;
+ r |= EMAC_MR1_FDE | EMAC_MR1_MWSW_001;
dev->stop_timeout = STOP_TIMEOUT_10;
switch (dev->phy.speed) {
case SPEED_1000: