From ca4b5ab3de02a0e478f7da4d38801d21491708ad Mon Sep 17 00:00:00 2001 From: Guo-Fu Tseng Date: Mon, 18 Oct 2010 14:10:41 +0000 Subject: [PATCH] --- yaml --- r: 215420 b: refs/heads/master c: 3ee94018a9f49ca98e3f77f54a769c784115dbb8 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/jme.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 7f1f4767d798..f95820b8cc80 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c8a8684d5cfb0f110a962c93586630c0bf91ebc1 +refs/heads/master: 3ee94018a9f49ca98e3f77f54a769c784115dbb8 diff --git a/trunk/drivers/net/jme.c b/trunk/drivers/net/jme.c index e04f180965ae..0ea0da32d7d8 100644 --- a/trunk/drivers/net/jme.c +++ b/trunk/drivers/net/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; }