diff options
| author | Emil Tantilov <emil.s.tantilov@intel.com> | 2011-05-12 22:22:45 -0400 |
|---|---|---|
| committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2011-06-24 01:46:03 -0400 |
| commit | c988ee829074073d3cd80090ef56a6e370b5c9b4 (patch) | |
| tree | cdaf56907b72a5b7e80983a21b366824db791b1c | |
| parent | 3a28926451a22a2b699962e738c8540da642c319 (diff) | |
ixgbe: move reset code into a separate function
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>
| -rw-r--r-- | drivers/net/ixgbe/ixgbe_ethtool.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c b/drivers/net/ixgbe/ixgbe_ethtool.c index 405c5ba1d561..bb8441e3990c 100644 --- a/drivers/net/ixgbe/ixgbe_ethtool.c +++ b/drivers/net/ixgbe/ixgbe_ethtool.c | |||
| @@ -442,6 +442,16 @@ static int ixgbe_set_pauseparam(struct net_device *netdev, | |||
| 442 | return 0; | 442 | return 0; |
| 443 | } | 443 | } |
| 444 | 444 | ||
| 445 | static void ixgbe_do_reset(struct net_device *netdev) | ||
| 446 | { | ||
| 447 | struct ixgbe_adapter *adapter = netdev_priv(netdev); | ||
| 448 | |||
| 449 | if (netif_running(netdev)) | ||
| 450 | ixgbe_reinit_locked(adapter); | ||
| 451 | else | ||
| 452 | ixgbe_reset(adapter); | ||
| 453 | } | ||
| 454 | |||
| 445 | static u32 ixgbe_get_rx_csum(struct net_device *netdev) | 455 | static u32 ixgbe_get_rx_csum(struct net_device *netdev) |
| 446 | { | 456 | { |
| 447 | struct ixgbe_adapter *adapter = netdev_priv(netdev); | 457 | struct ixgbe_adapter *adapter = netdev_priv(netdev); |
| @@ -2249,12 +2259,8 @@ static int ixgbe_set_coalesce(struct net_device *netdev, | |||
| 2249 | * correctly w.r.t stopping tx, and changing TXDCTL.WTHRESH settings | 2259 | * correctly w.r.t stopping tx, and changing TXDCTL.WTHRESH settings |
| 2250 | * also locks in RSC enable/disable which requires reset | 2260 | * also locks in RSC enable/disable which requires reset |
| 2251 | */ | 2261 | */ |
| 2252 | if (need_reset) { | 2262 | if (need_reset) |
| 2253 | if (netif_running(netdev)) | 2263 | ixgbe_do_reset(netdev); |
| 2254 | ixgbe_reinit_locked(adapter); | ||
| 2255 | else | ||
| 2256 | ixgbe_reset(adapter); | ||
| 2257 | } | ||
| 2258 | 2264 | ||
| 2259 | return 0; | 2265 | return 0; |
| 2260 | } | 2266 | } |
| @@ -2328,12 +2334,8 @@ static int ixgbe_set_flags(struct net_device *netdev, u32 data) | |||
| 2328 | need_reset = true; | 2334 | need_reset = true; |
| 2329 | } | 2335 | } |
| 2330 | 2336 | ||
| 2331 | if (need_reset) { | 2337 | if (need_reset) |
| 2332 | if (netif_running(netdev)) | 2338 | ixgbe_do_reset(netdev); |
| 2333 | ixgbe_reinit_locked(adapter); | ||
| 2334 | else | ||
| 2335 | ixgbe_reset(adapter); | ||
| 2336 | } | ||
| 2337 | 2339 | ||
| 2338 | return 0; | 2340 | return 0; |
| 2339 | } | 2341 | } |
