diff options
author | Miquel Raynal <miquel.raynal@bootlin.com> | 2023-03-10 17:53:46 +0300 |
---|---|---|
committer | Stefan Schmidt <stefan@datenfreihafen.org> | 2023-03-23 23:51:30 +0300 |
commit | d021d218f6d924ff5417c64b2e41d184e4bb32d3 (patch) | |
tree | 4e0ebf71655196d8bdfb7fcfe28e166acfa024b3 /net/mac802154/main.c | |
parent | 26f88e4ebd4fbe96fb4326408e2af05644716d76 (diff) | |
download | linux-d021d218f6d924ff5417c64b2e41d184e4bb32d3.tar.xz |
mac802154: Handle received BEACON_REQ
When performing an active scan, devices emit BEACON_REQ which
must be answered by other PANs receiving the request, unless they are
already passively sending beacons.
Answering a beacon request becomes a duty when the user tells us to send
beacons and the request provides an interval of 15.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Alexander Aring <aahringo@redhat.com>
Link: https://lore.kernel.org/r/20230310145346.1397068-5-miquel.raynal@bootlin.com
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Diffstat (limited to 'net/mac802154/main.c')
-rw-r--r-- | net/mac802154/main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac802154/main.c b/net/mac802154/main.c index ee23e234b998..357ece67432b 100644 --- a/net/mac802154/main.c +++ b/net/mac802154/main.c @@ -90,6 +90,7 @@ ieee802154_alloc_hw(size_t priv_data_len, const struct ieee802154_ops *ops) INIT_LIST_HEAD(&local->interfaces); INIT_LIST_HEAD(&local->rx_beacon_list); + INIT_LIST_HEAD(&local->rx_mac_cmd_list); mutex_init(&local->iflist_mtx); tasklet_setup(&local->tasklet, ieee802154_tasklet_handler); @@ -100,6 +101,7 @@ ieee802154_alloc_hw(size_t priv_data_len, const struct ieee802154_ops *ops) INIT_DELAYED_WORK(&local->scan_work, mac802154_scan_worker); INIT_WORK(&local->rx_beacon_work, mac802154_rx_beacon_worker); INIT_DELAYED_WORK(&local->beacon_work, mac802154_beacon_worker); + INIT_WORK(&local->rx_mac_cmd_work, mac802154_rx_mac_cmd_worker); /* init supported flags with 802.15.4 default ranges */ phy->supported.max_minbe = 8; |