diff options
author | Greg Rose <gregory.v.rose@intel.com> | 2010-11-16 22:27:19 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2010-11-16 22:27:19 -0500 |
commit | 5d426ad1af31ac27d7c2222f20eec9d0a8aeac42 (patch) | |
tree | ac50230f264617273735d0697e2a183fe81e460e /drivers | |
parent | e2ddeba95c09d0d44719ff005e915dc06ff46571 (diff) |
ixgbevf: Fix Oops
The driver is calling netif_carrier_off and netif_tx_stop_all_queues
before the netdevice is registered which causes an Oops. Move call
to netif_carrier_off after the netdevice is registered and remove
call to netif_tx_stop_all_queues because there aren't any TX
queues yet.
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ixgbevf/ixgbevf_main.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/ixgbevf/ixgbevf_main.c b/drivers/net/ixgbevf/ixgbevf_main.c index 1d7de555e630..5b8063cb4e6c 100644 --- a/drivers/net/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ixgbevf/ixgbevf_main.c | |||
@@ -3425,10 +3425,6 @@ static int __devinit ixgbevf_probe(struct pci_dev *pdev, | |||
3425 | if (hw->mac.ops.get_bus_info) | 3425 | if (hw->mac.ops.get_bus_info) |
3426 | hw->mac.ops.get_bus_info(hw); | 3426 | hw->mac.ops.get_bus_info(hw); |
3427 | 3427 | ||
3428 | |||
3429 | netif_carrier_off(netdev); | ||
3430 | netif_tx_stop_all_queues(netdev); | ||
3431 | |||
3432 | strcpy(netdev->name, "eth%d"); | 3428 | strcpy(netdev->name, "eth%d"); |
3433 | 3429 | ||
3434 | err = register_netdev(netdev); | 3430 | err = register_netdev(netdev); |
@@ -3437,6 +3433,8 @@ static int __devinit ixgbevf_probe(struct pci_dev *pdev, | |||
3437 | 3433 | ||
3438 | adapter->netdev_registered = true; | 3434 | adapter->netdev_registered = true; |
3439 | 3435 | ||
3436 | netif_carrier_off(netdev); | ||
3437 | |||
3440 | ixgbevf_init_last_counter_stats(adapter); | 3438 | ixgbevf_init_last_counter_stats(adapter); |
3441 | 3439 | ||
3442 | /* print the MAC address */ | 3440 | /* print the MAC address */ |