Lines Matching refs:sdata

27 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);  in mac802154_wpan_update_llsec()  local
29 struct wpan_dev *wpan_dev = &sdata->wpan_dev; in mac802154_wpan_update_llsec()
51 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); in mac802154_wpan_ioctl() local
52 struct wpan_dev *wpan_dev = &sdata->wpan_dev; in mac802154_wpan_ioctl()
113 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); in mac802154_wpan_mac_addr() local
123 if (sdata->wpan_dev.lowpan_dev) { in mac802154_wpan_mac_addr()
124 if (netif_running(sdata->wpan_dev.lowpan_dev)) in mac802154_wpan_mac_addr()
133 sdata->wpan_dev.extended_addr = extended_addr; in mac802154_wpan_mac_addr()
138 if (sdata->wpan_dev.lowpan_dev) in mac802154_wpan_mac_addr()
139 memcpy(sdata->wpan_dev.lowpan_dev->dev_addr, dev->dev_addr, in mac802154_wpan_mac_addr()
145 static int ieee802154_setup_hw(struct ieee802154_sub_if_data *sdata) in ieee802154_setup_hw() argument
147 struct ieee802154_local *local = sdata->local; in ieee802154_setup_hw()
148 struct wpan_dev *wpan_dev = &sdata->wpan_dev; in ieee802154_setup_hw()
197 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); in mac802154_slave_open() local
198 struct ieee802154_local *local = sdata->local; in mac802154_slave_open()
203 set_bit(SDATA_STATE_RUNNING, &sdata->state); in mac802154_slave_open()
206 res = ieee802154_setup_hw(sdata); in mac802154_slave_open()
220 clear_bit(SDATA_STATE_RUNNING, &sdata->state); in mac802154_slave_open()
265 ieee802154_check_concurrent_iface(struct ieee802154_sub_if_data *sdata, in ieee802154_check_concurrent_iface() argument
268 struct ieee802154_local *local = sdata->local; in ieee802154_check_concurrent_iface()
269 struct wpan_dev *wpan_dev = &sdata->wpan_dev; in ieee802154_check_concurrent_iface()
274 if (nsdata != sdata && ieee802154_sdata_running(nsdata)) { in ieee802154_check_concurrent_iface()
302 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); in mac802154_wpan_open() local
303 struct wpan_dev *wpan_dev = &sdata->wpan_dev; in mac802154_wpan_open()
305 rc = ieee802154_check_concurrent_iface(sdata, wpan_dev->iftype); in mac802154_wpan_open()
314 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); in mac802154_slave_close() local
315 struct ieee802154_local *local = sdata->local; in mac802154_slave_close()
322 clear_bit(SDATA_STATE_RUNNING, &sdata->state); in mac802154_slave_close()
330 static int mac802154_set_header_security(struct ieee802154_sub_if_data *sdata, in mac802154_set_header_security() argument
337 mac802154_llsec_get_params(&sdata->sec, &params); in mac802154_set_header_security()
369 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); in ieee802154_header_create() local
370 struct wpan_dev *wpan_dev = &sdata->wpan_dev; in ieee802154_header_create()
383 if (mac802154_set_header_security(sdata, &hdr, cb) < 0) in ieee802154_header_create()
435 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); in mac802154_header_create() local
436 struct wpan_dev *wpan_dev = &sdata->wpan_dev; in mac802154_header_create()
451 if (mac802154_set_header_security(sdata, &hdr, &cb) < 0) in mac802154_header_create()
518 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); in mac802154_wpan_free() local
520 mac802154_llsec_destroy(&sdata->sec); in mac802154_wpan_free()
556 ieee802154_setup_sdata(struct ieee802154_sub_if_data *sdata, in ieee802154_setup_sdata() argument
559 struct wpan_dev *wpan_dev = &sdata->wpan_dev; in ieee802154_setup_sdata()
564 sdata->wpan_dev.iftype = type; in ieee802154_setup_sdata()
583 sdata->dev->dev_addr); in ieee802154_setup_sdata()
585 sdata->dev->header_ops = &mac802154_header_ops; in ieee802154_setup_sdata()
586 sdata->dev->needs_free_netdev = true; in ieee802154_setup_sdata()
587 sdata->dev->priv_destructor = mac802154_wpan_free; in ieee802154_setup_sdata()
588 sdata->dev->netdev_ops = &mac802154_wpan_ops; in ieee802154_setup_sdata()
589 sdata->dev->ml_priv = &mac802154_mlme_wpan; in ieee802154_setup_sdata()
593 mutex_init(&sdata->sec_mtx); in ieee802154_setup_sdata()
595 mac802154_llsec_init(&sdata->sec); in ieee802154_setup_sdata()
596 ret = mac802154_wpan_update_llsec(sdata->dev); in ieee802154_setup_sdata()
602 sdata->dev->needs_free_netdev = true; in ieee802154_setup_sdata()
603 sdata->dev->netdev_ops = &mac802154_monitor_ops; in ieee802154_setup_sdata()
619 struct ieee802154_sub_if_data *sdata = NULL; in ieee802154_if_add() local
624 ndev = alloc_netdev(sizeof(*sdata), name, in ieee802154_if_add()
658 sdata = netdev_priv(ndev); in ieee802154_if_add()
659 ndev->ieee802154_ptr = &sdata->wpan_dev; in ieee802154_if_add()
660 memcpy(sdata->name, ndev->name, IFNAMSIZ); in ieee802154_if_add()
661 sdata->dev = ndev; in ieee802154_if_add()
662 sdata->wpan_dev.wpan_phy = local->hw.phy; in ieee802154_if_add()
663 sdata->local = local; in ieee802154_if_add()
666 ret = ieee802154_setup_sdata(sdata, type); in ieee802154_if_add()
675 list_add_tail_rcu(&sdata->list, &local->interfaces); in ieee802154_if_add()
685 void ieee802154_if_remove(struct ieee802154_sub_if_data *sdata) in ieee802154_if_remove() argument
689 mutex_lock(&sdata->local->iflist_mtx); in ieee802154_if_remove()
690 list_del_rcu(&sdata->list); in ieee802154_if_remove()
691 mutex_unlock(&sdata->local->iflist_mtx); in ieee802154_if_remove()
694 unregister_netdevice(sdata->dev); in ieee802154_if_remove()
699 struct ieee802154_sub_if_data *sdata, *tmp; in ieee802154_remove_interfaces() local
702 list_for_each_entry_safe(sdata, tmp, &local->interfaces, list) { in ieee802154_remove_interfaces()
703 list_del(&sdata->list); in ieee802154_remove_interfaces()
705 unregister_netdevice(sdata->dev); in ieee802154_remove_interfaces()
714 struct ieee802154_sub_if_data *sdata; in netdev_notify() local
725 sdata = IEEE802154_DEV_TO_SUB_IF(dev); in netdev_notify()
726 memcpy(sdata->name, dev->name, IFNAMSIZ); in netdev_notify()