diff options
Diffstat (limited to 'drivers/net/ixgb')
-rw-r--r-- | drivers/net/ixgb/ixgb_ethtool.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/net/ixgb/ixgb_ethtool.c b/drivers/net/ixgb/ixgb_ethtool.c index 3fa113854eeb..94bc3d41cfa3 100644 --- a/drivers/net/ixgb/ixgb_ethtool.c +++ b/drivers/net/ixgb/ixgb_ethtool.c | |||
@@ -130,6 +130,12 @@ ixgb_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) | |||
130 | ixgb_down(adapter, TRUE); | 130 | ixgb_down(adapter, TRUE); |
131 | ixgb_reset(adapter); | 131 | ixgb_reset(adapter); |
132 | ixgb_up(adapter); | 132 | ixgb_up(adapter); |
133 | /* be optimistic about our link, since we were up before */ | ||
134 | adapter->link_speed = 10000; | ||
135 | adapter->link_duplex = FULL_DUPLEX; | ||
136 | netif_carrier_on(netdev); | ||
137 | netif_wake_queue(netdev); | ||
138 | |||
133 | } else | 139 | } else |
134 | ixgb_reset(adapter); | 140 | ixgb_reset(adapter); |
135 | 141 | ||
@@ -177,6 +183,11 @@ ixgb_set_pauseparam(struct net_device *netdev, | |||
177 | if(netif_running(adapter->netdev)) { | 183 | if(netif_running(adapter->netdev)) { |
178 | ixgb_down(adapter, TRUE); | 184 | ixgb_down(adapter, TRUE); |
179 | ixgb_up(adapter); | 185 | ixgb_up(adapter); |
186 | /* be optimistic about our link, since we were up before */ | ||
187 | adapter->link_speed = 10000; | ||
188 | adapter->link_duplex = FULL_DUPLEX; | ||
189 | netif_carrier_on(netdev); | ||
190 | netif_wake_queue(netdev); | ||
180 | } else | 191 | } else |
181 | ixgb_reset(adapter); | 192 | ixgb_reset(adapter); |
182 | 193 | ||
@@ -199,6 +210,11 @@ ixgb_set_rx_csum(struct net_device *netdev, uint32_t data) | |||
199 | if(netif_running(netdev)) { | 210 | if(netif_running(netdev)) { |
200 | ixgb_down(adapter,TRUE); | 211 | ixgb_down(adapter,TRUE); |
201 | ixgb_up(adapter); | 212 | ixgb_up(adapter); |
213 | /* be optimistic about our link, since we were up before */ | ||
214 | adapter->link_speed = 10000; | ||
215 | adapter->link_duplex = FULL_DUPLEX; | ||
216 | netif_carrier_on(netdev); | ||
217 | netif_wake_queue(netdev); | ||
202 | } else | 218 | } else |
203 | ixgb_reset(adapter); | 219 | ixgb_reset(adapter); |
204 | return 0; | 220 | return 0; |
@@ -573,6 +589,11 @@ ixgb_set_ringparam(struct net_device *netdev, | |||
573 | adapter->tx_ring = tx_new; | 589 | adapter->tx_ring = tx_new; |
574 | if((err = ixgb_up(adapter))) | 590 | if((err = ixgb_up(adapter))) |
575 | return err; | 591 | return err; |
592 | /* be optimistic about our link, since we were up before */ | ||
593 | adapter->link_speed = 10000; | ||
594 | adapter->link_duplex = FULL_DUPLEX; | ||
595 | netif_carrier_on(netdev); | ||
596 | netif_wake_queue(netdev); | ||
576 | } | 597 | } |
577 | 598 | ||
578 | return 0; | 599 | return 0; |