Browse Source

cxgb3 - Fix resources release.

Remove sysfs entries before unregistering the net devices.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Divy Le Ray 17 years ago
parent
commit
67d92ab765
1 changed files with 4 additions and 4 deletions
  1. 4 4
      drivers/net/cxgb3/cxgb3_main.c

+ 4 - 4
drivers/net/cxgb3/cxgb3_main.c

@@ -2585,10 +2585,6 @@ static void __devexit remove_one(struct pci_dev *pdev)
 		sysfs_remove_group(&adapter->port[0]->dev.kobj,
 		sysfs_remove_group(&adapter->port[0]->dev.kobj,
 				   &cxgb3_attr_group);
 				   &cxgb3_attr_group);
 
 
-		for_each_port(adapter, i)
-		    if (test_bit(i, &adapter->registered_device_map))
-			unregister_netdev(adapter->port[i]);
-
 		if (is_offload(adapter)) {
 		if (is_offload(adapter)) {
 			cxgb3_adapter_unofld(adapter);
 			cxgb3_adapter_unofld(adapter);
 			if (test_bit(OFFLOAD_DEVMAP_BIT,
 			if (test_bit(OFFLOAD_DEVMAP_BIT,
@@ -2596,6 +2592,10 @@ static void __devexit remove_one(struct pci_dev *pdev)
 				offload_close(&adapter->tdev);
 				offload_close(&adapter->tdev);
 		}
 		}
 
 
+		for_each_port(adapter, i)
+		    if (test_bit(i, &adapter->registered_device_map))
+			unregister_netdev(adapter->port[i]);
+
 		t3_free_sge_resources(adapter);
 		t3_free_sge_resources(adapter);
 		cxgb_disable_msi(adapter);
 		cxgb_disable_msi(adapter);