]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/brocade/bna/bnad.c
bna: change type of bna_id to atomic_t
[karo-tx-linux.git] / drivers / net / ethernet / brocade / bna / bnad.c
index 771cc267f217bb9eae73372bc2637ed9434cb902..2bed0503259727062962e88eda69b6d94cb34bca 100644 (file)
@@ -54,9 +54,8 @@ MODULE_PARM_DESC(bna_debugfs_enable, "Enables debugfs feature, default=1,"
  * Global variables
  */
 static u32 bnad_rxqs_per_cq = 2;
-static u32 bna_id;
+static atomic_t bna_id;
 static struct mutex bnad_list_mutex;
-static LIST_HEAD(bnad_list);
 static const u8 bnad_bcast_addr[] __aligned(2) =
        { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
 
@@ -80,8 +79,6 @@ static void
 bnad_add_to_list(struct bnad *bnad)
 {
        mutex_lock(&bnad_list_mutex);
-       list_add_tail(&bnad->list_entry, &bnad_list);
-       bnad->id = bna_id++;
        mutex_unlock(&bnad_list_mutex);
 }
 
@@ -89,7 +86,6 @@ static void
 bnad_remove_from_list(struct bnad *bnad)
 {
        mutex_lock(&bnad_list_mutex);
-       list_del(&bnad->list_entry);
        mutex_unlock(&bnad_list_mutex);
 }
 
@@ -3654,6 +3650,7 @@ bnad_pci_probe(struct pci_dev *pdev,
        bnad = netdev_priv(netdev);
        bnad_lock_init(bnad);
        bnad_add_to_list(bnad);
+       bnad->id = atomic_inc_return(&bna_id) - 1;
 
        mutex_lock(&bnad->conf_mutex);
        /*