]> bbs.cooldavid.org Git - jme.git/blobdiff - jme.c
jme: Add comment in jme_set_settings
[jme.git] / jme.c
diff --git a/jme.c b/jme.c
index e04f180965aeebb548ee7d7ce38cc2d9655d1ca8..0ea0da32d7d8fd00cb0c39a54f6d11f3913f758d 100644 (file)
--- a/jme.c
+++ b/jme.c
@@ -2394,6 +2394,10 @@ jme_set_settings(struct net_device *netdev,
        if (ecmd->speed == SPEED_1000 && ecmd->autoneg != AUTONEG_ENABLE)
                return -EINVAL;
 
+       /*
+        * Check If user changed duplex only while force_media.
+        * Hardware would not generate link change interrupt.
+        */
        if (jme->mii_if.force_media &&
        ecmd->autoneg != AUTONEG_ENABLE &&
        (jme->mii_if.full_duplex != ecmd->duplex))
@@ -2403,10 +2407,9 @@ jme_set_settings(struct net_device *netdev,
        rc = mii_ethtool_sset(&(jme->mii_if), ecmd);
        spin_unlock_bh(&jme->phy_lock);
 
-       if (!rc && fdc)
-               jme_reset_link(jme);
-
        if (!rc) {
+               if (fdc)
+                       jme_reset_link(jme);
                set_bit(JME_FLAG_SSET, &jme->flags);
                jme->old_ecmd = *ecmd;
        }