|
@@ -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;
|
|
|
}
|