The cfg802154 netdev notifier never sets a device type, so wpan
interfaces lack a sysfs "type". Mirror cfg80211 by calling
SET_NETDEV_DEVTYPE() in a NETDEV_POST_INIT case with a new
wpan_dev_type.
Signed-off-by: Adriano Cordova <redacted>
---
net/ieee802154/core.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/net/ieee802154/core.c b/net/ieee802154/core.c
index c0b8712018a1..c6213412d291 100644
--- a/net/ieee802154/core.c
+++ b/net/ieee802154/core.c
@@ -272,6 +272,10 @@ void cfg802154_dev_free(struct cfg802154_registered_device *rdev)
kfree(rdev);
}
+static const struct device_type wpan_dev_type = {
+ .name = "wpan",
+};
+
static void
cfg802154_update_iface_num(struct cfg802154_registered_device *rdev,
int iftype, int num)@@ -296,7 +300,9 @@ static int cfg802154_netdev_notifier_call(struct notifier_block *nb,
/* TODO WARN_ON unspec type */
switch (state) {
- /* TODO NETDEV_DEVTYPE */
+ case NETDEV_POST_INIT:
+ SET_NETDEV_DEVTYPE(dev, &wpan_dev_type);
+ break;
case NETDEV_REGISTER:
dev->netns_immutable = true;
wpan_dev->identifier = ++rdev->wpan_dev_id;--
2.51.0