فهرست منبع

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>
Greg Rose 14 سال پیش
والد
کامیت
5d426ad1af
1فایلهای تغییر یافته به همراه2 افزوده شده و 4 حذف شده
  1. 2 4
      drivers/net/ixgbevf/ixgbevf_main.c

+ 2 - 4
drivers/net/ixgbevf/ixgbevf_main.c

@@ -3425,10 +3425,6 @@ static int __devinit ixgbevf_probe(struct pci_dev *pdev,
 	if (hw->mac.ops.get_bus_info)
 	if (hw->mac.ops.get_bus_info)
 		hw->mac.ops.get_bus_info(hw);
 		hw->mac.ops.get_bus_info(hw);
 
 
-
-	netif_carrier_off(netdev);
-	netif_tx_stop_all_queues(netdev);
-
 	strcpy(netdev->name, "eth%d");
 	strcpy(netdev->name, "eth%d");
 
 
 	err = register_netdev(netdev);
 	err = register_netdev(netdev);
@@ -3437,6 +3433,8 @@ static int __devinit ixgbevf_probe(struct pci_dev *pdev,
 
 
 	adapter->netdev_registered = true;
 	adapter->netdev_registered = true;
 
 
+	netif_carrier_off(netdev);
+
 	ixgbevf_init_last_counter_stats(adapter);
 	ixgbevf_init_last_counter_stats(adapter);
 
 
 	/* print the MAC address */
 	/* print the MAC address */