diff options
-rw-r--r-- | drivers/net/ixgb/ixgb_main.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c index 0a0c876dcbdd..954894b5308c 100644 --- a/drivers/net/ixgb/ixgb_main.c +++ b/drivers/net/ixgb/ixgb_main.c | |||
@@ -247,6 +247,9 @@ ixgb_up(struct ixgb_adapter *adapter) | |||
247 | ixgb_configure_rx(adapter); | 247 | ixgb_configure_rx(adapter); |
248 | ixgb_alloc_rx_buffers(adapter); | 248 | ixgb_alloc_rx_buffers(adapter); |
249 | 249 | ||
250 | /* disable interrupts and get the hardware into a known state */ | ||
251 | IXGB_WRITE_REG(&adapter->hw, IMC, 0xffffffff); | ||
252 | |||
250 | #ifdef CONFIG_PCI_MSI | 253 | #ifdef CONFIG_PCI_MSI |
251 | { | 254 | { |
252 | boolean_t pcix = (IXGB_READ_REG(&adapter->hw, STATUS) & | 255 | boolean_t pcix = (IXGB_READ_REG(&adapter->hw, STATUS) & |
@@ -272,9 +275,6 @@ ixgb_up(struct ixgb_adapter *adapter) | |||
272 | return err; | 275 | return err; |
273 | } | 276 | } |
274 | 277 | ||
275 | /* disable interrupts and get the hardware into a known state */ | ||
276 | IXGB_WRITE_REG(&adapter->hw, IMC, 0xffffffff); | ||
277 | |||
278 | if((hw->max_frame_size != max_frame) || | 278 | if((hw->max_frame_size != max_frame) || |
279 | (hw->max_frame_size != | 279 | (hw->max_frame_size != |
280 | (IXGB_READ_REG(hw, MFS) >> IXGB_MFS_SHIFT))) { | 280 | (IXGB_READ_REG(hw, MFS) >> IXGB_MFS_SHIFT))) { |
@@ -295,11 +295,12 @@ ixgb_up(struct ixgb_adapter *adapter) | |||
295 | } | 295 | } |
296 | 296 | ||
297 | mod_timer(&adapter->watchdog_timer, jiffies); | 297 | mod_timer(&adapter->watchdog_timer, jiffies); |
298 | ixgb_irq_enable(adapter); | ||
299 | 298 | ||
300 | #ifdef CONFIG_IXGB_NAPI | 299 | #ifdef CONFIG_IXGB_NAPI |
301 | netif_poll_enable(netdev); | 300 | netif_poll_enable(netdev); |
302 | #endif | 301 | #endif |
302 | ixgb_irq_enable(adapter); | ||
303 | |||
303 | return 0; | 304 | return 0; |
304 | } | 305 | } |
305 | 306 | ||