Hello Miquel
On 17.12.22 01:02, Miquel Raynal wrote:
Implement the core hooks in order to provide the softMAC layer support
for passive scans. Scans are requested by the user and can be aborted.
Changing channels manually is prohibited during scans.
The implementation uses a workqueue triggered at a certain interval
depending on the symbol duration for the current channel and the
duration order provided. More advanced drivers with internal scheduling
capabilities might require additional care but there is none mainline
yet.
Received beacons during a passive scan are processed in a work queue and
their result forwarded to the upper layer.
Active scanning is not supported yet.
Co-developed-by: David Girault <david.girault@xxxxxxxxx>
Signed-off-by: David Girault <david.girault@xxxxxxxxx>
Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
---
include/linux/ieee802154.h | 4 +
include/net/cfg802154.h | 16 ++
net/mac802154/Makefile | 2 +-
net/mac802154/cfg.c | 31 ++++
net/mac802154/ieee802154_i.h | 37 ++++-
net/mac802154/iface.c | 3 +
net/mac802154/main.c | 16 +-
net/mac802154/rx.c | 36 ++++-
net/mac802154/scan.c | 289 +++++++++++++++++++++++++++++++++++
9 files changed, 428 insertions(+), 6 deletions(-)
create mode 100644 net/mac802154/scan.c
Checkpatch found another set of problematic indents in this one:
Commit 216e51c90975 ("mac802154: Handle passive scanning")
----------------------------------------------------------
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#361:
new file mode 100644
WARNING: networking block comments don't use an empty /* line, use /*
Comment...
#385: FILE: net/mac802154/scan.c:20:
+/*
+ * mac802154_scan_cleanup_locked() must be called upon scan completion
or abort.
ERROR: code indent should use tabs where possible
#475: FILE: net/mac802154/scan.c:110:
+ struct cfg802154_scan_request *scan_req,$
WARNING: please, no spaces at the start of a line
#475: FILE: net/mac802154/scan.c:110:
+ struct cfg802154_scan_request *scan_req,$
ERROR: code indent should use tabs where possible
#479: FILE: net/mac802154/scan.c:114:
+ *channel = find_next_bit((const unsigned long
*)&scan_req->channels,$
WARNING: please, no spaces at the start of a line
#479: FILE: net/mac802154/scan.c:114:
+ *channel = find_next_bit((const unsigned long
*)&scan_req->channels,$
ERROR: code indent should use tabs where possible
#485: FILE: net/mac802154/scan.c:120:
+ struct cfg802154_scan_request
*scan_req,$
WARNING: please, no spaces at the start of a line
#485: FILE: net/mac802154/scan.c:120:
+ struct cfg802154_scan_request
*scan_req,$
ERROR: code indent should use tabs where possible
#486: FILE: net/mac802154/scan.c:121:
+ u8 page, u8 *channel)$
WARNING: please, no spaces at the start of a line
#486: FILE: net/mac802154/scan.c:121:
+ u8 page, u8 *channel)$
ERROR: "foo* bar" should be "foo *bar"
#502: FILE: net/mac802154/scan.c:137:
+ struct wpan_phy* wpan_phy;
ERROR: code indent should use tabs where possible
#539: FILE: net/mac802154/scan.c:174:
+ ret = mac802154_scan_find_next_chan(local, scan_req,
page, &channel);$
WARNING: please, no spaces at the start of a line
#539: FILE: net/mac802154/scan.c:174:
+ ret = mac802154_scan_find_next_chan(local, scan_req,
page, &channel);$
ERROR: code indent should use tabs where possible
#540: FILE: net/mac802154/scan.c:175:
+ if (ret) {$
WARNING: please, no spaces at the start of a line
#540: FILE: net/mac802154/scan.c:175:
+ if (ret) {$
ERROR: code indent should use tabs where possible
#542: FILE: net/mac802154/scan.c:177:
+ goto end_scan;$
WARNING: please, no spaces at the start of a line
#542: FILE: net/mac802154/scan.c:177:
+ goto end_scan;$
ERROR: code indent should use tabs where possible
#543: FILE: net/mac802154/scan.c:178:
+ }$
WARNING: please, no spaces at the start of a line
#543: FILE: net/mac802154/scan.c:178:
+ }$
ERROR: code indent should use tabs where possible
#544: FILE: net/mac802154/scan.c:179:
+ } while (!ieee802154_chan_is_valid(scan_req->wpan_phy, page,
channel));$
WARNING: please, no spaces at the start of a line
#544: FILE: net/mac802154/scan.c:179:
+ } while (!ieee802154_chan_is_valid(scan_req->wpan_phy, page,
channel));$
ERROR: code indent should use tabs where possible
#546: FILE: net/mac802154/scan.c:181:
+ rcu_read_unlock();$
WARNING: please, no spaces at the start of a line
#546: FILE: net/mac802154/scan.c:181:
+ rcu_read_unlock();$
ERROR: code indent should use tabs where possible
#553: FILE: net/mac802154/scan.c:188:
+ dev_err(&sdata->dev->dev,$
WARNING: please, no spaces at the start of a line
#553: FILE: net/mac802154/scan.c:188:
+ dev_err(&sdata->dev->dev,$
ERROR: code indent should use tabs where possible
#554: FILE: net/mac802154/scan.c:189:
+ "Channel change failure during scan, aborting
(%d)\n", ret);$
WARNING: please, no spaces at the start of a line
#554: FILE: net/mac802154/scan.c:189:
+ "Channel change failure during scan, aborting
(%d)\n", ret);$
ERROR: code indent should use tabs where possible
#565: FILE: net/mac802154/scan.c:200:
+ dev_err(&sdata->dev->dev,$
WARNING: please, no spaces at the start of a line
#565: FILE: net/mac802154/scan.c:200:
+ dev_err(&sdata->dev->dev,$
ERROR: code indent should use tabs where possible
#566: FILE: net/mac802154/scan.c:201:
+ "Restarting failure after channel change,
aborting (%d)\n", ret);$
WARNING: please, no spaces at the start of a line
#566: FILE: net/mac802154/scan.c:201:
+ "Restarting failure after channel change,
aborting (%d)\n", ret);$
total: 15 errors, 16 warnings, 0 checks, 558 lines checked
regards
Stefan Schmidt