ixgbe: move reset code into a separate function
authorEmil Tantilov <emil.s.tantilov@intel.com>
Fri, 13 May 2011 02:22:45 +0000 (02:22 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 24 Jun 2011 05:46:03 +0000 (22:46 -0700)
Move reset code into a separate function to allow for reuse in other
parts of the code.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ixgbe/ixgbe_ethtool.c

index 405c5ba1d561e89a90ddac31ece12ed21a2dbaa3..bb8441e3990cdfd90b29625ae5ed464468da200e 100644 (file)
@@ -442,6 +442,16 @@ static int ixgbe_set_pauseparam(struct net_device *netdev,
        return 0;
 }
 
+static void ixgbe_do_reset(struct net_device *netdev)
+{
+       struct ixgbe_adapter *adapter = netdev_priv(netdev);
+
+       if (netif_running(netdev))
+               ixgbe_reinit_locked(adapter);
+       else
+               ixgbe_reset(adapter);
+}
+
 static u32 ixgbe_get_rx_csum(struct net_device *netdev)
 {
        struct ixgbe_adapter *adapter = netdev_priv(netdev);
@@ -2249,12 +2259,8 @@ static int ixgbe_set_coalesce(struct net_device *netdev,
         * correctly w.r.t stopping tx, and changing TXDCTL.WTHRESH settings
         * also locks in RSC enable/disable which requires reset
         */
-       if (need_reset) {
-               if (netif_running(netdev))
-                       ixgbe_reinit_locked(adapter);
-               else
-                       ixgbe_reset(adapter);
-       }
+       if (need_reset)
+               ixgbe_do_reset(netdev);
 
        return 0;
 }
@@ -2328,12 +2334,8 @@ static int ixgbe_set_flags(struct net_device *netdev, u32 data)
                need_reset = true;
        }
 
-       if (need_reset) {
-               if (netif_running(netdev))
-                       ixgbe_reinit_locked(adapter);
-               else
-                       ixgbe_reset(adapter);
-       }
+       if (need_reset)
+               ixgbe_do_reset(netdev);
 
        return 0;
 }