cfg80211_sch...opped_locked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cfg80211_sched_scan_stopped_locked

okay bestie, welcome to the Kernel API Manual ✨ β€” this one's a kernel function and it's literally the designated vibe-check announcer for "hey, that scheduled scan? it's over."

🌸 NAME 🌸

cfg80211_sched_scan_stopped_locked β€” the "notify that the scheduled scan has stopped" girlie πŸŽ€ she literally just tells everyone the scan is done.

✨ SYNOPSIS ✨

void cfg80211_sched_scan_stopped_locked(struct wiphy *wiphy, u64 reqid);

returns void β€” no take-backs, no return value, she gives you nothing back and that's the whole point πŸ’…

πŸ¦‹ ARGUMENTS πŸ¦‹

  • wiphy β€” the wiphy on which the scheduled scan stopped. like, which radio is having the moment. 🫢
  • reqid β€” identifier for the related scheduled scan request πŸ” so cfg80211 knows which scan request we're all talking about, iykyk.

πŸ’– DESCRIPTION πŸ’–

so basically, the driver can call this function to inform cfg80211 that the scheduled scan had to be stopped β€” for whatever reason 😭 and yes that is genuinely the wording, the scan can stop for literally any reason and nobody's asking questions.

the driver is then called back via the sched_scan_stop operation when done πŸ” so it's a cute little round trip: you tell cfg80211, cfg80211 calls you back. main character energy both ways, fr fr.

⚠️ ok important one: this function should be called with the wiphy mutex held πŸ”’ don't skip this, it's not a suggestion, that's the "_locked" in her name doing its job okay πŸ’€

that's part 1, bestie β€” there's more coming, don't go anywhere 🌈

✨ SEE ALSO ✨

okay so this is the part where the page just lets go and dumps the entire friend list πŸ’€ and honestly? respectfully? she ate. every single one is here, bestie β€” nothing skipped, no crumbs, no "and friends". scroll responsibly 🫢

see that first chunk? that's the whole band-and-capability stack β€” ht, vht, he, eht, uhr, edmg, s1g, all of it, the entire alphabet mafia 🌈 and yes _ieee80211_set_sband_iftype_data(9) has a lil leading underscore, she's the shy internal one, don't come for her πŸ’…


next up: Actions and configuration, aka the section that ate and left absolutely no crumbs πŸ‘‘

the way this list has everything β€” chandef checks, DFS checks, SAR specs, mesh, OCB, station params, tid stats... it's giving "one google doc, 40 tabs open, still slaying" ✨


then Scanning and BSS list handling, aka the find-your-people section πŸ¦‹

  • Scanning and BSS list handling(9)
  • struct cfg80211_ssid(9)
  • struct cfg80211_scan_info(9)
  • struct cfg80211_scan_6ghz_params(9)
  • struct cfg80211_scan_request(9)
  • struct cfg80211_match_set(9)
  • struct cfg80211_sched_scan_plan(9)
  • struct cfg80211_bss_select_adjust(9)
  • struct cfg80211_sched_scan_request(9)
  • enum cfg80211_signal_type(9)
  • struct cfg80211_inform_bss(9)
  • struct cfg80211_bss_ies(9)
  • struct cfg80211_bss(9)
  • ieee80211_bss_get_elem(9)
  • ieee80211_bss_get_ie(9)
  • struct cfg80211_auth_request(9)
  • struct cfg80211_assoc_link(9)
  • struct cfg80211_ml_reconf_req(9)
  • enum cfg80211_assoc_req_flags(9)
  • struct cfg80211_assoc_request(9)
  • struct cfg80211_deauth_request(9)
  • struct cfg80211_disassoc_request(9)
  • struct cfg80211_ibss_params(9)
  • struct cfg80211_bss_selection(9)
  • struct cfg80211_connect_params(9)
  • enum cfg80211_connect_params_changed(9)
  • enum wiphy_params_flags(9)
  • struct cfg80211_pmksa(9)
  • struct cfg80211_pkt_pattern(9)
  • struct cfg80211_wowlan_tcp(9)
  • struct cfg80211_wowlan(9)
  • struct cfg80211_coalesce_rules(9)
  • struct cfg80211_coalesce(9)
  • struct cfg80211_wowlan_nd_match(9)
  • struct cfg80211_wowlan_nd_info(9)
  • struct cfg80211_wowlan_wakeup(9)
  • struct cfg80211_gtk_rekey_data(9)
  • struct cfg80211_update_ft_ies_params(9)
  • struct cfg80211_mgmt_tx_params(9)
  • struct cfg80211_dscp_exception(9)
  • struct cfg80211_dscp_range(9)
  • struct cfg80211_qos_map(9)

not the wowlan girlies showing up in the middle of the scan list 😭 anyway she's here, she's documented, we respect her.


Neighbor Awareness Networking (NAN)(9) β€” yes bestie, NAN, the social butterfly of the wireless stack 🧚 and then the pmk / external auth / pmsr / owe corner, then the big wiphy family, then struct wireless_dev(9) and her lil helpers:

look at the whole wiphy lineup β€” wiphy_new_nm(9), wiphy_new(9), wiphy_register(9), wiphy_unregister(9), wiphy_free(9)… the full life cycle, birth to rebirth, main character energy πŸ‘‘ and all the work-queue / hrtimer-work girlies right after, queued, cancelled, flushed, pending β€” she's booked and busy fr fr.


Utility functions(9) β€” the little helpers that keep the whole thing from falling apart πŸŽ€

channel ⇄ frequency conversions both ways, header lengths, radiotap iterators... not glamorous but lowkey the backbone of the whole operation ngl.


Data path helpers(9) β€” where the actual packets get handled, and also the element/IE finders, because of course ✨

cfg80211_find_elem(9) vs cfg80211_find_ie(9) vs the _match versions vs the ext versions vs the vendor versions β€” six whole flavors of "where is that element" and honestly? she needed all of them πŸ’…


Regulatory enforcement infrastructure(9)</peak> β€” no wait, peachy, let me say it right: the section that tells you what the law says about your radio 😀 plus the Internal regulatory db functions(9):

then the big block of bss reporting / mlme / assoc / rfkill / vendor / testmode friends:

careful bestie, __cfg80211_get_bss(9) has two underscores β€” that's the double-underscore variant, she's not the same girl as cfg80211_get_bss(9) πŸ™ˆ

RFkill integration(9) β€” the on/off switch of it all ✈️

Vendor commands(9) β€” for the driver besties who want their own custom ops 🫢

and Test mode(9), the chaotic experimental one πŸ§ͺ


and finally 😭 the giant tail end of the list β€” connect / roam / sta / mgmt / cqm / cac / everything:

okay that's the entire friend group, all 300-something of them, nobody left on read πŸ’– and there's __cfg80211_radar_event(9) sitting there with her double underscore too β€” mind the underscores bestie, __cfg80211_radar_event(9) is NOT the same as anything without them πŸ’€

okay so last chunk of the SEE ALSO list β€” the rest of the extended fam, the whole group chat, no one left out πŸ’–:

like, that's the entire crew 🫢 every single one is a real manual page you can go pull up yourself β€” bestie, the rabbit hole is deep and it is glorious. go read them, collect them like little stickers, iykyk πŸ’…


and that's a wrap on the whole page, fr fr βœ¨πŸ’–πŸ¦‹ thank you for reading all three parts, you absolute icon πŸ‘‘ β€” this one lives in ./include/net, dated October 2026, and the footer at the bottom is literally just the same name again, cfg80211_sch...opped_locked(9), like a little bow on top of the present πŸŽ€ periodt, go forth and slay those channels 🌸

πŸ“¦ where this page comes from