mac802154: add default interface registration
authorAlexander Aring <alex.aring@gmail.com>
Wed, 5 Nov 2014 19:51:19 +0000 (20:51 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 5 Nov 2014 20:53:04 +0000 (21:53 +0100)
This patch adds a default interface registration for a wpan interface
type. Currently the 802.15.4 subsystem need to call userspace tools to
add an interface. This patch is like mac80211 handling for registration
a station interface type by default.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/mac802154/main.c

index a371eb5fa0539ac9d8ed375b7c878ae3f6321c29..7d0ff7fd2cd462f83a0b77c13e4640f14a822ccb 100644 (file)
@@ -126,6 +126,7 @@ EXPORT_SYMBOL(ieee802154_free_hw);
 int ieee802154_register_hw(struct ieee802154_hw *hw)
 {
        struct ieee802154_local *local = hw_to_local(hw);
+       struct net_device *dev;
        int rc = -ENOSYS;
 
        local->workqueue =
@@ -141,6 +142,17 @@ int ieee802154_register_hw(struct ieee802154_hw *hw)
        if (rc < 0)
                goto out_wq;
 
+       rtnl_lock();
+
+       dev = ieee802154_if_add(local, "wpan%d", NULL, IEEE802154_DEV_WPAN);
+       if (IS_ERR(dev)) {
+               rtnl_unlock();
+               rc = PTR_ERR(dev);
+               goto out_wq;
+       }
+
+       rtnl_unlock();
+
        return 0;
 
 out_wq: