Commit 285eb9c3 authored by Ivan Vecera's avatar Ivan Vecera Committed by David S. Miller

bna: change type of bna_id to atomic_t

Change type of bna_id to atomic_t. The bnad_list_mutex is used to prevent
a race when bna_id is incremented. After the change the mutex can be
removed in the next step.
Signed-off-by: default avatarIvan Vecera <ivecera@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a1f4064b
...@@ -54,7 +54,7 @@ MODULE_PARM_DESC(bna_debugfs_enable, "Enables debugfs feature, default=1," ...@@ -54,7 +54,7 @@ MODULE_PARM_DESC(bna_debugfs_enable, "Enables debugfs feature, default=1,"
* Global variables * Global variables
*/ */
static u32 bnad_rxqs_per_cq = 2; static u32 bnad_rxqs_per_cq = 2;
static u32 bna_id; static atomic_t bna_id;
static struct mutex bnad_list_mutex; static struct mutex bnad_list_mutex;
static const u8 bnad_bcast_addr[] __aligned(2) = static const u8 bnad_bcast_addr[] __aligned(2) =
{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
...@@ -79,7 +79,6 @@ static void ...@@ -79,7 +79,6 @@ static void
bnad_add_to_list(struct bnad *bnad) bnad_add_to_list(struct bnad *bnad)
{ {
mutex_lock(&bnad_list_mutex); mutex_lock(&bnad_list_mutex);
bnad->id = bna_id++;
mutex_unlock(&bnad_list_mutex); mutex_unlock(&bnad_list_mutex);
} }
...@@ -3651,6 +3650,7 @@ bnad_pci_probe(struct pci_dev *pdev, ...@@ -3651,6 +3650,7 @@ bnad_pci_probe(struct pci_dev *pdev,
bnad = netdev_priv(netdev); bnad = netdev_priv(netdev);
bnad_lock_init(bnad); bnad_lock_init(bnad);
bnad_add_to_list(bnad); bnad_add_to_list(bnad);
bnad->id = atomic_inc_return(&bna_id) - 1;
mutex_lock(&bnad->conf_mutex); mutex_lock(&bnad->conf_mutex);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment