]> bbs.cooldavid.org Git - jme.git/blobdiff - jme.c
jme: Fix hardware action of full-duplex
[jme.git] / jme.c
diff --git a/jme.c b/jme.c
index 89c1ab7dd6f71df41b154ff65d44f2a2c22068d2..ee39a05d848d384bbfedf939de675033811dc933 100644 (file)
--- a/jme.c
+++ b/jme.c
@@ -442,16 +442,14 @@ jme_check_link(struct net_device *netdev, int testonly)
 
                if (phylink & PHY_LINK_DUPLEX) {
                        jwrite32(jme, JME_TXMCS, TXMCS_DEFAULT);
+                       jwrite32(jme, JME_TXTRHD, TXTRHD_FULLDUPLEX);
                        ghc |= GHC_DPX;
                } else {
                        jwrite32(jme, JME_TXMCS, TXMCS_DEFAULT |
                                                TXMCS_BACKOFF |
                                                TXMCS_CARRIERSENSE |
                                                TXMCS_COLLISION);
-                       jwrite32(jme, JME_TXTRHD, TXTRHD_TXPEN |
-                               ((0x2000 << TXTRHD_TXP_SHIFT) & TXTRHD_TXP) |
-                               TXTRHD_TXREN |
-                               ((8 << TXTRHD_TXRL_SHIFT) & TXTRHD_TXRL));
+                       jwrite32(jme, JME_TXTRHD, TXTRHD_HALFDUPLEX);
                }
 
                gpreg1 = GPREG1_DEFAULT;