summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrançois Cachereul <f.cachereul@alphalink.fr>2014-06-12 12:11:25 +0200
committerDavid S. Miller <davem@davemloft.net>2014-06-12 10:31:10 -0700
commit179584388d7286190dfd9d2a248e25e1ffdfd472 (patch)
treef3af89abee1feb269df6d92ad222ce0caa0f3307
parenta4d3de0d5fdf4393577ab8e2c7b7ebf6504bbb66 (diff)
downloadlinux-179584388d7286190dfd9d2a248e25e1ffdfd472.tar.bz2
via-rhine: fix full-duplex with autoneg disable
With some specific configuration (VT6105M on Soekris 5510 and depending on the device at the other end), fragmented packets were not transmitted when forcing 100 full-duplex with autoneg disable. This fix now write full-duplex chips register when forcing full or half-duplex not only when autoneg is enable. Signed-off-by: François Cachereul <f.cachereul@alphalink.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/via/via-rhine.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c
index 981be0154be3..2d72f96a9e2c 100644
--- a/drivers/net/ethernet/via/via-rhine.c
+++ b/drivers/net/ethernet/via/via-rhine.c
@@ -1349,8 +1349,9 @@ static void rhine_set_carrier(struct mii_if_info *mii)
/* autoneg is off: Link is always assumed to be up */
if (!netif_carrier_ok(dev))
netif_carrier_on(dev);
- } else /* Let MMI library update carrier status */
- rhine_check_media(dev, 0);
+ }
+
+ rhine_check_media(dev, 0);
netif_info(rp, link, dev, "force_media %d, carrier %d\n",
mii->force_media, netif_carrier_ok(dev));