cxgb4: remove a bitmap
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:52 +0000 (21:36 +0000)]
The driver keeps a bitmap of the netdevs it registered so it knows what to
unregister later.  Remove that and look at reg_state instead.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/net/cxgb4/cxgb4.h
drivers/net/cxgb4/cxgb4_main.c

index 9caf95f..01d49ea 100644 (file)
@@ -482,7 +482,6 @@ struct adapter {
        void __iomem *regs;
        struct pci_dev *pdev;
        struct device *pdev_dev;
-       unsigned long registered_device_map;
        unsigned int fn;
        unsigned int flags;
 
index 4d7565c..059c1ee 100644 (file)
@@ -3725,7 +3725,6 @@ static int __devinit init_one(struct pci_dev *pdev,
                err = register_netdev(adapter->port[i]);
                if (err)
                        break;
-               __set_bit(i, &adapter->registered_device_map);
                adapter->chan_map[pi->tx_chan] = i;
                print_port_info(adapter->port[i]);
        }
@@ -3785,7 +3784,7 @@ static void __devexit remove_one(struct pci_dev *pdev)
                        detach_ulds(adapter);
 
                for_each_port(adapter, i)
-                       if (test_bit(i, &adapter->registered_device_map))
+                       if (adapter->port[i]->reg_state == NETREG_REGISTERED)
                                unregister_netdev(adapter->port[i]);
 
                if (adapter->debugfs_root)