net/fec: prevent dobule restart of interface on FDX/HDX change
authorLothar Waßmann <LW@KARO-electronics.de>
Wed, 7 Dec 2011 21:59:27 +0000 (21:59 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 9 Dec 2011 00:51:19 +0000 (19:51 -0500)
Upon detection of a FDX/HDX change the interface is restarted twice.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec.c

index 65ee506f9eb79ec117c65f648d25c24814892003..7ef408fd322aebe4ef0fdebda2c0b546fd811177 100644 (file)
@@ -865,6 +865,8 @@ static void fec_enet_adjust_link(struct net_device *ndev)
        if (phy_dev->link) {
                if (fep->full_duplex != phy_dev->duplex) {
                        fec_restart(ndev, phy_dev->duplex);
+                       /* prevent unnecessary second fec_restart() below */
+                       fep->link = phy_dev->link;
                        status_change = 1;
                }
        }