wiphy_work_queue(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– wiphy_work_queue(9) πŸ’–

okay bestie, this one's from the Kernel API Manual and it's literally about queueing work for the wiphy. no cap, let's get into it 🫢


🌸 NAME 🌸

wiphy_work_queue β€” queue work for the wiphy ✨


⚑ SYNOPSIS ⚑

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

🫢 ARGUMENTS 🫢

  • wiphy β€” the wiphy to queue for πŸ’…
  • work β€” the work item πŸŽ€

πŸ’… DESCRIPTION πŸ’…

So this is useful for work that must be done asynchronously, and work queued here has a special property: the wiphy mutex will be held exactly as if wiphy_lock was called, and it cannot be running after wiphy_lock was called. iconic behavior, honestly πŸ”₯

Therefore, wiphy_cancel_work can use just cancel_work instead of cancel_work_sync β€” and it requires being in a section protected by wiphy_lock. periodt πŸ’œ

bestie pls note: that β€œrequires being in a section protected by wiphy_lock” part is not a vibe suggestion, it's a real requirement 😭

πŸ’… SEE ALSO πŸ’…

okay bestie, this is the part where the manpage just. keeps. going. like it's giving β€œI have references and I'm not afraid to use them.” every single one of these is a real cross-reference, so don't skip them β€” they're the whole ecosystem of cfg80211/mac80211, and the home base for all of it is the kernel file ./include/net/cfg80211.h:

…and the rest of the roster keeps going, bestie, because this SEE ALSO list is huge and honestly kind of iconic πŸ’… β€” same energy, all of them, no skips:

  • cfg80211_reg_check_beaconing(9) β€” the regulatory vibe check for beaconing 🌸
  • cfg80211_reg_can_beacon(9) β€” can we beacon? asking for a friend
  • cfg80211_reg_can_beacon_relax(9) β€” same question but chill about it
  • cfg80211_ch_switch_notify(9) β€” channel switch announcements, we love a heads-up πŸ¦‹
  • cfg80211_ch_switch_started_notify(9) β€” "it's happening" edition
  • ieee80211_operating_class_to_band(9) β€” operating class ➑️ band, the translation girlie
  • ieee80211_operating_class_to_chandef(9) β€” operating class ➑️ chandef ✨
  • ieee80211_chandef_to_operating_class(9) β€” and the reverse, slay
  • ieee80211_chandef_to_khz(9) β€” chandef ➑️ kHz, numbers are cute
  • cfg80211_tdls_oper_request(9) β€” TDLS request szn
  • cfg80211_calculate_bitrate(9) β€” math era πŸ”₯
  • cfg80211_unregister_wdev(9) β€” bye bye wireless device
  • cfg80211_register_netdevice(9) β€” hi hi netdevice
  • cfg80211_unregister_netdevice(9) β€” and hi to saying bye πŸ‘‹
  • struct cfg80211_ft_event_params(9) β€” a whole struct, main character energy
  • cfg80211_ft_event(9) β€” fast transition tea β˜•
  • cfg80211_get_p2p_attr(9) β€” P2P attribute retrieval, iykyk
  • ieee80211_ie_split_ric(9) β€” splitting IEs, the RIC way
  • ieee80211_ie_split(9) β€” splitting IEs, the regular way
  • ieee80211_fragment_element(9) β€” fragmenting elements, lowkey satisfying
  • cfg80211_report_wowlan_wakeup(9) β€” wowlan wakeup reporting, she woke up πŸ’€
  • cfg80211_crit_proto_stopped(9) β€” critical protocol said ✌️
  • ieee80211_get_num_supported_channels(9) β€” how many channels? yes
  • cfg80211_check_combinations(9) β€” checking combinations, no cap
  • cfg80211_iter_combinations(9) β€” iterating combinations, the deluxe version
  • cfg80211_get_radio_idx_by_chan(9) β€” channel ➑️ radio index πŸŽ€
  • cfg80211_stop_link(9) β€” stopping a link, respectfully
  • cfg80211_stop_iface(9) β€” stopping an iface, also respectfully
  • cfg80211_shutdown_all_interfaces(9) β€” ALL of them, goodbye 🌈
  • wiphy_ext_feature_set(9) β€” set that extended feature
  • wiphy_ext_feature_isset(9) β€” is it set tho? πŸ‘€
  • cfg80211_free_nan_func(9) β€” freeing a NAN function, NAN squad incoming
  • struct cfg80211_nan_match_params(9) β€” another struct, another moment
  • cfg80211_nan_match(9) β€” NAN match πŸ“
  • cfg80211_nan_func_terminated(9) β€” NAN function terminated, rip
  • cfg80211_nan_sched_update_done(9) β€” NAN schedule update done βœ…
  • cfg80211_external_auth_request(9) β€” external auth request, we're going outside
  • cfg80211_pmsr_report(9) β€” PMSR report πŸ“‹
  • cfg80211_pmsr_complete(9) β€” PMSR complete, periodt
  • cfg80211_iftype_allowed(9) β€” is this iftype allowed? check before you try πŸ’…
  • cfg80211_assoc_comeback(9) β€” assoc comeback, she came back
  • cfg80211_update_owe_info_event(9) β€” OWE info event update
  • cfg80211_bss_flush(9) β€” flush the BSS list, cleanse the timeline 🧚
  • cfg80211_bss_color_notify(9) β€” BSS color notify, so aesthetic
  • cfg80211_obss_color_collision_notify(9) β€” obss color collision 🚨 the drama
  • cfg80211_color_change_started_notify(9) β€” color change started
  • cfg80211_color_change_aborted_notify(9) β€” color change aborted 😭
  • cfg80211_color_change_notify(9) β€” color change, the notification
  • cfg80211_6ghz_power_type(9) β€” 6 GHz power type, the new gen ⭐
  • cfg80211_links_removed(9) β€” links removed, links gone
  • struct cfg80211_mlo_reconf_done_data(9) β€” MLO reconfig data struct 🫢
  • cfg80211_mlo_reconf_add_done(9) β€” MLO reconfig add done
  • cfg80211_schedule_channels_check(9) β€” schedule a channels check πŸ—“οΈ
  • cfg80211_epcs_changed(9) β€” EPCS changed, noted
  • cfg80211_next_nan_dw_notif(9) β€” next NAN DW notification
  • cfg80211_nan_cluster_joined(9) β€” joined the NAN cluster, we're in πŸ‘‘
  • cfg80211_nan_ulw_update(9) β€” NAN ULW update
  • cfg80211_nan_channel_evac(9) β€” NAN channel evacuation, everybody out
  • wiphy_locked_debugfs_read(9) β€” debugfs read, but locked
  • wiphy_locked_debugfs_write(9) β€” debugfs write, also locked πŸ”’
  • cfg80211_s1g_get_start_freq_khz(9) β€” S1G start freq in kHz
  • cfg80211_s1g_get_end_freq_khz(9) β€” S1G end freq in kHz
  • cfg80211_s1g_get_primary_sibling(9) β€” S1G primary sibling, cute name honestly
  • cfg80211_incumbent_signal_notify(9) β€” incumbent signal notify, the final boss 🏁

okay that's genuinely the whole list, bestie, we made it 🫢 go read them all and then come back here, I'll be waiting πŸ’œ

fr fr though β€” this page lives in ./include/net, and the version stamp on it is October 2026, for the wiphy_work_queue(9) page. That's it, that's the footer, mwah πŸ’‹βœ¨

bye bestie, go queue some work πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ where this page comes from