wiphy_work_cancel(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… wiphy_work_cancel β€” a wiphy_work_cancel(9) glow-up

okay bestie so this is from the Kernel API Manual, section 9, and it's literally called wiphy_work_cancel. yes the whole page. it's short and it's iconic and we're gonna read it together 🫢


✨ NAME ✨

wiphy_work_cancel β€” cancel previously queued work

that's it. that's the whole vibe. it cancels work you already queued. no cap.


πŸŽ€ SYNOPSIS πŸŽ€

void wiphy_work_cancel (struct wiphy *wiphy , struct wiphy_work *work );

so it returns void β€” meaning it gives you nothing back, not even a little nod, not even a "k". it just does the thing πŸ’€ and it takes exactly two args: a struct wiphy * and a struct wiphy_work *. that's the whole signature, copy it exactly, don't freestyle it πŸ™ˆ


πŸ¦‹ ARGUMENTS πŸ¦‹

  • wiphy β€” the wiphy. and why do we pass it? for debug purposes πŸ’– like it's not doing the heavy lifting here, it's just there so the debug code can point at something and go "yeah that one." main character energy but make it logging.
  • work β€” the work to cancel. the actual target. the one getting un-queued. periodt.

🌸 DESCRIPTION 🌸

okay so here's the tea β˜• β€” this cancels the work, but *without* waiting for it. read that again. without waiting. it's not gonna stand there tapping its foot till the work finishes, it's just like "you're cancelled bestie, bye" and dips ✌️

⚠️ and this is the important part, the part you cannot skip: it assumes you're calling it under the wiphy mutex, the one acquired by wiphy_lock. so lock first. do not come in here unlocked, that is not the vibe and the kernel will not be nice about it 😭

so fr fr: wiphy_lock first, then wiphy_work_cancel, and remember it does not wait β€” so if you were expecting it to block until the work is done, it's giving you nothing, absolutely zero blocking energy πŸ”₯


no but for real though, the "without waiting" thing is lowkey the whole personality of this function, so hold onto it β€” and there's more coming, don't go anywhere 🧚

πŸ’… SEE ALSO πŸ’…

Okay bestie, this is the part where the page literally dumps the entire cfg80211 extended universe on you, and honestly? It's giving phone book. But every single one of these is a real reference, so we're listing them all, no skipping, no "etc." β€” periodt. Grab a snack πŸ“.

✨ the source file + the intro squad ✨

🌸 actions & configuration (the big one) 🌸

Actions and configuration(9) is the section, and then it's just… everyone:

πŸŽ€ scanning & BSS list handling πŸŽ€

  • 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) 🫢

🧚 NAN, PMSR + the wiphy structs 🧚

  • Neighbor Awareness Networking (NAN)(9), struct cfg80211_nan_band_config(9), struct cfg80211_nan_conf(9), struct cfg80211_nan_channel(9), struct cfg80211_nan_local_sched(9), struct cfg80211_nan_peer_map(9), struct cfg80211_nan_peer_sched(9), enum cfg80211_nan_conf_changes(9), struct cfg80211_nan_func_filter(9), struct cfg80211_nan_func(9)
  • struct cfg80211_pmk_conf(9), struct cfg80211_external_auth_params(9), struct cfg80211_ftm_responder_stats(9), struct cfg80211_pmsr_ftm_result(9), struct cfg80211_pmsr_result(9), struct cfg80211_pmsr_ftm_request_peer(9), struct cfg80211_pmsr_request_peer(9), struct cfg80211_pmsr_request(9), struct cfg80211_update_owe_info(9), struct mgmt_frame_regs(9)
  • struct cfg80211_ops(9), enum wiphy_flags(9), struct ieee80211_iface_limit(9), struct ieee80211_iface_combination(9), enum wiphy_wowlan_support_flags(9), struct wiphy_wowlan_support(9), struct wiphy_coalesce_support(9), enum wiphy_vendor_command_flags(9), enum wiphy_opmode_flag(9), struct sta_opmode_info(9), struct wiphy_vendor_command(9), struct wiphy_iftype_ext_capab(9), cfg80211_get_iftype_ext_capa(9), struct cfg80211_pmsr_capabilities(9), struct wiphy_iftype_akm_suites(9), struct wiphy_radio_cfg(9), struct wiphy_radio_freq_range(9), struct wiphy_radio(9), enum wiphy_nan_flags(9), struct wiphy_nan_capa(9), struct wiphy(9) πŸ‘‘

πŸ’œ wiphy lifecycle + all the works πŸ’œ

🌈 utility functions + data path helpers 🌈

πŸ“ regulatory + scan done + BSS notifs πŸ“

πŸ”₯ rfkill, vendor commands, test mode + ALL the notifications πŸ”₯

and bestie, the list literally keeps going, so don't close the tab yet β€” 🧚✨

…and the rest of the squad, still going, still iconic, in exactly the order the page serves them πŸ’…


okay that's the whole list, no skips, no "etc." cop-outs πŸ’– that's genuinely every single one β€” the nan girlies, the color_change girlies, the s1g freq girlies, all of them got their moment. click through them like a group chat you're catching up on, bestie 🫢


sign-off szn ✨

This one lives in ./include/net, dropped in October 2026, and its whole official name is wiphy_work_cancel(9) β€” scream it, it's giving kernel-doc main character energy πŸ‘‘πŸŒΈ

Anyway. Read the man page, cancel the work, go to bed. love u, bye πŸ’œπŸ¦‹

πŸ“¦ where this page comes from