Lines Matching refs:wpan_dev
36 static struct wpan_dev *
40 struct wpan_dev *result = NULL;
60 struct wpan_dev *wpan_dev;
68 list_for_each_entry(wpan_dev, &rdev->wpan_dev_list, list) {
69 if (have_ifidx && wpan_dev->netdev &&
70 wpan_dev->netdev->ifindex == ifidx) {
71 result = wpan_dev;
75 wpan_dev->identifier == (u32)wpan_dev_id) {
76 result = wpan_dev;
110 struct wpan_dev *wpan_dev;
115 /* make sure wpan_dev exists */
116 list_for_each_entry(wpan_dev, &tmp->wpan_dev_list, list) {
117 if (wpan_dev->identifier != (u32)wpan_dev_id)
237 struct wpan_dev **wpan_dev)
245 *wpan_dev = __cfg802154_wpan_dev_from_attrs(sock_net(skb->sk),
247 if (IS_ERR(*wpan_dev)) {
248 err = PTR_ERR(*wpan_dev);
251 *rdev = wpan_phy_to_rdev((*wpan_dev)->wpan_phy);
254 cb->args[1] = (*wpan_dev)->identifier;
258 struct wpan_dev *tmp;
265 *wpan_dev = NULL;
269 *wpan_dev = tmp;
274 if (!*wpan_dev) {
659 static inline u64 wpan_dev_id(struct wpan_dev *wpan_dev)
661 return (u64)wpan_dev->identifier |
662 ((u64)wpan_phy_to_rdev(wpan_dev->wpan_phy)->wpan_phy_idx << 32);
739 struct wpan_dev *wpan_dev)
745 ret = rdev_get_llsec_params(rdev, wpan_dev, ¶ms);
772 struct wpan_dev *wpan_dev)
774 struct net_device *dev = wpan_dev->netdev;
788 nla_put_u32(msg, NL802154_ATTR_IFTYPE, wpan_dev->iftype) ||
790 wpan_dev_id(wpan_dev), NL802154_ATTR_PAD) ||
798 wpan_dev->extended_addr,
801 wpan_dev->short_addr) ||
802 nla_put_le16(msg, NL802154_ATTR_PAN_ID, wpan_dev->pan_id))
807 wpan_dev->frame_retries) ||
808 nla_put_u8(msg, NL802154_ATTR_MAX_BE, wpan_dev->max_be) ||
810 wpan_dev->csma_retries) ||
811 nla_put_u8(msg, NL802154_ATTR_MIN_BE, wpan_dev->min_be))
815 if (nla_put_u8(msg, NL802154_ATTR_LBT_MODE, wpan_dev->lbt))
819 if (nla_put_u8(msg, NL802154_ATTR_ACKREQ_DEFAULT, wpan_dev->ackreq))
823 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR)
826 if (nl802154_get_llsec_params(msg, rdev, wpan_dev) < 0)
848 struct wpan_dev *wpan_dev;
860 list_for_each_entry(wpan_dev, &rdev->wpan_dev_list, list) {
867 rdev, wpan_dev) < 0) {
888 struct wpan_dev *wdev = info->user_ptr[1];
937 struct wpan_dev *wpan_dev = info->user_ptr[1];
945 * since the wpan_dev has been freed, unlike with a netdev where
948 if (!wpan_dev->netdev)
951 return rdev_del_virtual_intf(rdev, wpan_dev);
1053 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1060 if (wpan_dev->lowpan_dev) {
1061 if (netif_running(wpan_dev->lowpan_dev))
1066 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR ||
1082 return rdev_set_pan_id(rdev, wpan_dev, pan_id);
1089 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1096 if (wpan_dev->lowpan_dev) {
1097 if (netif_running(wpan_dev->lowpan_dev))
1102 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR ||
1123 return rdev_set_short_addr(rdev, wpan_dev, short_addr);
1131 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1153 return rdev_set_backoff_exponent(rdev, wpan_dev, min_be, max_be);
1161 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1179 return rdev_set_max_csma_backoffs(rdev, wpan_dev, max_csma_backoffs);
1187 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1204 return rdev_set_max_frame_retries(rdev, wpan_dev, max_frame_retries);
1211 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1228 return rdev_set_lbt_mode(rdev, wpan_dev, mode);
1236 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1250 return rdev_set_ackreq_default(rdev, wpan_dev, ackreq);
1388 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1393 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR)
1429 return rdev_set_llsec_params(rdev, wpan_dev, ¶ms, changed);
1495 struct wpan_dev *wpan_dev;
1498 err = nl802154_prepare_wpan_dev_dump(skb, cb, &rdev, &wpan_dev);
1502 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) {
1507 if (!wpan_dev->netdev) {
1512 rdev_lock_llsec_table(rdev, wpan_dev);
1513 rdev_get_llsec_table(rdev, wpan_dev, &table);
1523 rdev, wpan_dev->netdev, key) < 0) {
1526 rdev_unlock_llsec_table(rdev, wpan_dev);
1534 rdev_unlock_llsec_table(rdev, wpan_dev);
1555 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1561 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR)
1602 return rdev_add_llsec_key(rdev, wpan_dev, &id, &key);
1609 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1613 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR)
1623 return rdev_del_llsec_key(rdev, wpan_dev, &id);
1674 struct wpan_dev *wpan_dev;
1677 err = nl802154_prepare_wpan_dev_dump(skb, cb, &rdev, &wpan_dev);
1681 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) {
1686 if (!wpan_dev->netdev) {
1691 rdev_lock_llsec_table(rdev, wpan_dev);
1692 rdev_get_llsec_table(rdev, wpan_dev, &table);
1702 rdev, wpan_dev->netdev, dev) < 0) {
1705 rdev_unlock_llsec_table(rdev, wpan_dev);
1713 rdev_unlock_llsec_table(rdev, wpan_dev);
1769 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1772 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR)
1779 return rdev_add_device(rdev, wpan_dev, &dev_desc);
1786 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1790 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR)
1801 return rdev_del_device(rdev, wpan_dev, extended_addr);
1855 struct wpan_dev *wpan_dev;
1858 err = nl802154_prepare_wpan_dev_dump(skb, cb, &rdev, &wpan_dev);
1862 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) {
1867 if (!wpan_dev->netdev) {
1872 rdev_lock_llsec_table(rdev, wpan_dev);
1873 rdev_get_llsec_table(rdev, wpan_dev, &table);
1887 wpan_dev->netdev,
1892 rdev_unlock_llsec_table(rdev, wpan_dev);
1901 rdev_unlock_llsec_table(rdev, wpan_dev);
1919 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1924 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR)
1946 return rdev_add_devkey(rdev, wpan_dev, extended_addr, &key);
1953 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
1958 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR)
1977 return rdev_del_devkey(rdev, wpan_dev, extended_addr, &key);
2028 struct wpan_dev *wpan_dev;
2031 err = nl802154_prepare_wpan_dev_dump(skb, cb, &rdev, &wpan_dev);
2035 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) {
2040 if (!wpan_dev->netdev) {
2045 rdev_lock_llsec_table(rdev, wpan_dev);
2046 rdev_get_llsec_table(rdev, wpan_dev, &table);
2056 rdev, wpan_dev->netdev, sl) < 0) {
2059 rdev_unlock_llsec_table(rdev, wpan_dev);
2067 rdev_unlock_llsec_table(rdev, wpan_dev);
2121 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
2124 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR)
2131 return rdev_add_seclevel(rdev, wpan_dev, &sl);
2139 struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
2142 if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR)
2150 return rdev_del_seclevel(rdev, wpan_dev, &sl);
2168 struct wpan_dev *wpan_dev;
2186 wpan_dev = __cfg802154_wpan_dev_from_attrs(genl_info_net(info),
2188 if (IS_ERR(wpan_dev)) {
2191 return PTR_ERR(wpan_dev);
2194 dev = wpan_dev->netdev;
2195 rdev = wpan_phy_to_rdev(wpan_dev->wpan_phy);
2206 info->user_ptr[1] = wpan_dev;
2231 struct wpan_dev *wpan_dev = info->user_ptr[1];
2233 if (wpan_dev->netdev)
2234 dev_put(wpan_dev->netdev);