return 0;
 }
 
+static void ixgb_set_speed_duplex(struct net_device *netdev)
+{
+       struct ixgb_adapter *adapter = netdev_priv(netdev);
+       /* be optimistic about our link, since we were up before */
+       adapter->link_speed = 10000;
+       adapter->link_duplex = FULL_DUPLEX;
+       netif_carrier_on(netdev);
+       netif_wake_queue(netdev);
+}
+
 static int
 ixgb_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd)
 {
                ixgb_down(adapter, TRUE);
                ixgb_reset(adapter);
                ixgb_up(adapter);
-               /* be optimistic about our link, since we were up before */
-               adapter->link_speed = 10000;
-               adapter->link_duplex = FULL_DUPLEX;
-               netif_carrier_on(netdev);
-               netif_wake_queue(netdev);
-               
+               ixgb_set_speed_duplex(netdev);
        } else
                ixgb_reset(adapter);
 
        if(netif_running(adapter->netdev)) {
                ixgb_down(adapter, TRUE);
                ixgb_up(adapter);
-               /* be optimistic about our link, since we were up before */
-               adapter->link_speed = 10000;
-               adapter->link_duplex = FULL_DUPLEX;
-               netif_carrier_on(netdev);
-               netif_wake_queue(netdev);
+               ixgb_set_speed_duplex(netdev);
        } else
                ixgb_reset(adapter);
                
        if(netif_running(netdev)) {
                ixgb_down(adapter,TRUE);
                ixgb_up(adapter);
-               /* be optimistic about our link, since we were up before */
-               adapter->link_speed = 10000;
-               adapter->link_duplex = FULL_DUPLEX;
-               netif_carrier_on(netdev);
-               netif_wake_queue(netdev);
+               ixgb_set_speed_duplex(netdev);
        } else
                ixgb_reset(adapter);
        return 0;
                adapter->tx_ring = tx_new;
                if((err = ixgb_up(adapter)))
                        return err;
-               /* be optimistic about our link, since we were up before */
-               adapter->link_speed = 10000;
-               adapter->link_duplex = FULL_DUPLEX;
-               netif_carrier_on(netdev);
-               netif_wake_queue(netdev);
+               ixgb_set_speed_duplex(netdev);
        }
 
        return 0;