diff options
author | Sven Eckelmann <sven@narfation.org> | 2013-02-11 04:10:22 -0500 |
---|---|---|
committer | Antonio Quartulli <ordex@autistici.org> | 2013-03-27 05:27:31 -0400 |
commit | 37130293fd50918c5498bafafd18735a24229cb9 (patch) | |
tree | 04bd6194d9ffd990f54b55b81fde4ad133c53574 /net/batman-adv/hard-interface.c | |
parent | e6a0b495ffee1301c239da49818008e7de3c2ae1 (diff) |
batman-adv: Move soft-interface initialization to ndo_init
The initialization of an net_device object should be done in the
init/constructor function and not from the outside after the register_netdevice
was done to avoid race conditions.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Acked-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Diffstat (limited to 'net/batman-adv/hard-interface.c')
-rw-r--r-- | net/batman-adv/hard-interface.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c index 368219e026a9..da000e90f87f 100644 --- a/net/batman-adv/hard-interface.c +++ b/net/batman-adv/hard-interface.c | |||
@@ -563,6 +563,11 @@ static int batadv_hard_if_event(struct notifier_block *this, | |||
563 | struct batadv_hard_iface *primary_if = NULL; | 563 | struct batadv_hard_iface *primary_if = NULL; |
564 | struct batadv_priv *bat_priv; | 564 | struct batadv_priv *bat_priv; |
565 | 565 | ||
566 | if (batadv_softif_is_valid(net_dev) && event == NETDEV_REGISTER) { | ||
567 | batadv_sysfs_add_meshif(net_dev); | ||
568 | return NOTIFY_DONE; | ||
569 | } | ||
570 | |||
566 | hard_iface = batadv_hardif_get_by_netdev(net_dev); | 571 | hard_iface = batadv_hardif_get_by_netdev(net_dev); |
567 | if (!hard_iface && event == NETDEV_REGISTER) | 572 | if (!hard_iface && event == NETDEV_REGISTER) |
568 | hard_iface = batadv_hardif_add_interface(net_dev); | 573 | hard_iface = batadv_hardif_add_interface(net_dev); |