Hello, We now have the infrastructure to report beacons/PANs, we also have the capability to transmit MLME commands synchronously. It is time to use these to implement a proper scan implementation. There are a few side-changes which are necessary for the soft MAC scan implementation to compile/work, but nothing big. The two main changes are: * The introduction of a user API for managing scans. * The soft MAC implementation of a scan. In all the past, current and future submissions, David and Romuald from Qorvo are credited in various ways (main author, co-author, suggested-by) depending of the amount of rework that was involved on each patch, reflecting as much as possible the open-source guidelines we follow in the kernel. All this effort is made possible thanks to Qorvo Inc which is pushing towards a featureful upstream WPAN support. Cheers, Miquèl Miquel Raynal (6): ieee802154: Add support for user scanning requests ieee802154: Define a beacon frame header ieee802154: Introduce a helper to validate a channel mac802154: Prepare forcing specific symbol duration mac802154: Add MLME Tx locked helpers mac802154: Handle passive scanning include/linux/ieee802154.h | 7 + include/net/cfg802154.h | 55 +++++- include/net/ieee802154_netdev.h | 36 ++++ include/net/nl802154.h | 49 ++++++ net/ieee802154/nl802154.c | 218 +++++++++++++++++++++++- net/ieee802154/nl802154.h | 3 + net/ieee802154/rdev-ops.h | 28 ++++ net/ieee802154/trace.h | 40 +++++ net/mac802154/Makefile | 2 +- net/mac802154/cfg.c | 33 +++- net/mac802154/ieee802154_i.h | 43 ++++- net/mac802154/iface.c | 3 + net/mac802154/main.c | 36 ++-- net/mac802154/rx.c | 36 +++- net/mac802154/scan.c | 286 ++++++++++++++++++++++++++++++++ net/mac802154/tx.c | 42 +++-- 16 files changed, 885 insertions(+), 32 deletions(-) create mode 100644 net/mac802154/scan.c -- 2.34.1