Setting the pause parameters causes a running network interface to be
restarted.  However, the restart forces the FEC into half-duplex mode,
whether or not the remote end is in half-duplex mode.  Misconfigured
duplex mode is a known source of problems on a link.
Fix this by always preserving the duplex mode on configuration changes.
Acked-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
                phy_start_aneg(fep->phy_dev);
        }
        if (netif_running(ndev))
-               fec_restart(ndev, 0);
+               fec_restart(ndev, fep->full_duplex);
 
        return 0;
 }