ieee80211_return_txq(9)
π ieee80211_return_txq β Kernel API Manual, section 9, bestie edition π
okay so you found a kernel API manual page and it's from the Kernel API Manual, section 9 β that's the section where all the fun driver-facing stuff lives. this one is tiny but it's lowkey important, so let's get into it β¨
β¨ NAME β¨
ieee80211_return_txq β return a TXQ previously acquired by ieee80211_next_txq()
like, you borrowed it, now give it back π«Ά that's the whole vibe.
πΈ SYNOPSIS πΈ
void ieee80211_return_txq (struct ieee80211_hw *hw , struct ieee80211_txq *txq , bool force );
three args, no return value, no cap π§
π¦ ARGUMENTS π¦
hwβ pointer as obtained fromieee80211_alloc_hw. it's the hardware struct, your main character β¨txqβ pointer obtained from station or virtual interface. this is the TXQ you're handing back πforceβ schedule txq even if mac80211 does not have any buffered packets. this is the "trust me, i got stuff" flag π
π DESCRIPTION π
the driver may set force=true if it has buffered packets for this TXQ internally.
that's literally it. that's the whole description. not me expecting a novel and getting one sentence π but bestie, it matters: if you are holding packets that mac80211 doesn't know about, you gotta say force=true so it still schedules the TXQ. otherwise it's giving "nothing to see here" and nothing gets scheduled π
ngl the force flag is the entire personality of this page. don't skip it. fr fr.
π₯ SEE ALSO π₯
this list is iconic in the worst way β it's every mac80211 symbol ever, all at once. no cap. here it is in all its glory, verbatim, because i would never do you dirty by trimming it π
Kernel file ./include/net/mac80211.h Introduction(9), Calling mac80211
from interrupts(9), Warning(9), Frame format(9), mac80211 workqueue(9),
mac80211 software tx queueing(9), HW timestamping(9), enum
ieee80211_max_queues(9), enum ieee80211_ac_numbers(9), struct
ieee80211_tx_queue_params(9), enum ieee80211_chanctx_change(9), struct
ieee80211_chan_req(9), struct ieee80211_chanctx_conf(9), enum
ieee80211_chanctx_switch_mode(9), struct
ieee80211_vif_chanctx_switch(9), enum ieee80211_bss_change(9), enum
ieee80211_event_type(9), enum ieee80211_rssi_event_data(9), struct
ieee80211_rssi_event(9), enum ieee80211_mlme_event_data(9), enum
ieee80211_mlme_event_status(9), struct ieee80211_mlme_event(9), struct
ieee80211_ba_event(9), struct ieee80211_event(9), struct
ieee80211_mu_group_data(9), struct ieee80211_ftm_responder_params(9),
struct ieee80211_fils_discovery(9), struct ieee80211_parsed_tpe(9),
struct ieee80211_bss_npca_params(9), struct ieee80211_bss_conf(9),
struct ieee80211_nan_channel(9), struct ieee80211_nan_peer_map(9),
struct ieee80211_nan_peer_sched(9), enum mac80211_tx_info_flags(9), enum
mac80211_tx_control_flags(9), enum mac80211_tx_status_flags(9), enum
mac80211_rate_control_flags(9), struct ieee80211_tx_rate(9), struct
ieee80211_tx_info(9), struct ieee80211_tx_status(9), struct
ieee80211_scan_ies(9), ieee80211_tx_info_clear_status(9), enum
mac80211_rx_flags(9), enum mac80211_rx_encoding_flags(9), struct
ieee80211_rx_status(9), enum ieee80211_conf_flags(9), enum
ieee80211_conf_changed(9), enum ieee80211_smps_mode(9), struct
ieee80211_conf(9), struct ieee80211_channel_switch(9), enum
ieee80211_vif_flags(9), enum ieee80211_offload_flags(9), struct
ieee80211_eml_params(9), struct ieee80211_nan_sched_cfg(9), struct
ieee80211_vif_cfg(9), struct ieee80211_neg_ttlm(9), enum
ieee80211_neg_ttlm_res(9), struct ieee80211_vif(9),
ieee80211_vif_usable_links(9), ieee80211_vif_is_mld(9),
ieee80211_vif_link_active(9), wdev_to_ieee80211_vif(9),
ieee80211_vif_to_wdev(9), enum ieee80211_key_flags(9), struct
ieee80211_key_conf(9), struct ieee80211_key_seq(9), enum set_key_cmd(9),
enum ieee80211_sta_state(9), enum ieee80211_sta_rx_bandwidth(9), struct
ieee80211_sta_rates(9), struct ieee80211_sta_txpwr(9), struct
ieee80211_sta_aggregates(9), struct ieee80211_link_sta(9), struct
ieee80211_sta(9), enum sta_notify_cmd(9), struct
ieee80211_tx_control(9), struct ieee80211_txq(9), enum
ieee80211_hw_flags(9), struct ieee80211_hw(9), struct
ieee80211_scan_request(9), struct ieee80211_tdls_ch_sw_params(9),
wiphy_to_ieee80211_hw(9), SET_IEEE80211_DEV(9),
SET_IEEE80211_PERM_ADDR(9), ieee80211_free_txskb(9),
ieee80211_purge_tx_queue(9), Hardware crypto acceleration(9), Powersave
support(9), Beacon filter support(9), Spatial multiplexing power
save(9), Frame filtering(9), AP support for powersaving clients(9), HW
queue control(9), enum ieee80211_filter_flags(9), enum
ieee80211_ampdu_mlme_action(9), struct ieee80211_ampdu_params(9), enum
ieee80211_frame_release_type(9), enum ieee80211_rate_control_changed(9),
enum ieee80211_roc_type(9), enum ieee80211_reconfig_type(9), struct
ieee80211_prep_tx_info(9), struct ieee80211_ops(9),
ieee80211_alloc_hw_nm(9), ieee80211_alloc_hw(9),
ieee80211_register_hw(9), struct ieee80211_tpt_blink(9), enum
ieee80211_tpt_led_trigger_flags(9), ieee80211_get_tx_led_name(9),
ieee80211_get_rx_led_name(9), ieee80211_get_assoc_led_name(9),
ieee80211_get_radio_led_name(9), ieee80211_create_tpt_led_trigger(9),
ieee80211_unregister_hw(9), ieee80211_free_hw(9),
ieee80211_restart_hw(9), ieee80211_rx_list(9), ieee80211_rx_napi(9),
ieee80211_rx(9), ieee80211_rx_irqsafe(9), ieee80211_rx_ni(9),
ieee80211_sta_ps_transition(9), ieee80211_sta_ps_transition_ni(9),
ieee80211_sta_pspoll(9), ieee80211_sta_uapsd_trigger(9),
ieee80211_sta_set_buffered(9), ieee80211_get_tx_rates(9),
ieee80211_tx_rate_update(9), ieee80211_tx_status_skb(9),
ieee80211_tx_status_ext(9), ieee80211_tx_status_noskb(9),
ieee80211_tx_status_ni(9), ieee80211_tx_status_irqsafe(9),
ieee80211_report_low_ack(9), struct ieee80211_mutable_offsets(9),
ieee80211_beacon_get_template(9),
ieee80211_beacon_get_template_ema_index(9), struct
ieee80211_ema_beacons(9), ieee80211_beacon_get_template_ema_list(9),
ieee80211_beacon_free_ema_list(9), ieee80211_beacon_get_tim(9),
ieee80211_beacon_get(9), ieee80211_beacon_update_cntdwn(9),
ieee80211_beacon_set_cntdwn(9), ieee80211_csa_finish(9),
ieee80211_beacon_cntdwn_is_complete(9),
ieee80211_color_change_finish(9), ieee80211_proberesp_get(9),
ieee80211_pspoll_get(9), ieee80211_nullfunc_get(9),
ieee80211_probereq_get(9), ieee80211_rts_get(9),
ieee80211_rts_duration(9), ieee80211_ctstoself_get(9),
ieee80211_ctstoself_duration(9), ieee80211_generic_frame_duration(9),
ieee80211_get_buffered_bc(9), ieee80211_get_tkip_p1k_iv(9),
ieee80211_get_tkip_p1k(9), ieee80211_get_tkip_rx_p1k(9),
ieee80211_get_tkip_p2k(9), ieee80211_tkip_add_iv(9),
ieee80211_get_key_rx_seq(9), ieee80211_set_key_rx_seq(9),
ieee80211_gtk_rekey_add(9), ieee80211_gtk_rekey_notify(9),
ieee80211_key_mic_failure(9), ieee80211_key_replay(9),
ieee80211_wake_queue(9), ieee80211_stop_queue(9),
ieee80211_queue_stopped(9), ieee80211_stop_queues(9),
ieee80211_wake_queues(9), ieee80211_scan_completed(9),
ieee80211_sched_scan_results(9), ieee80211_sched_scan_stopped(9), enum
ieee80211_interface_iteration_flags(9), ieee80211_iterate_interfaces(9),
ieee80211_iterate_active_interfaces(9),
ieee80211_iterate_active_interfaces_atomic(9), for_each_interface(9),
for_each_active_interface(9),
ieee80211_iterate_active_interfaces_mtx(9),
ieee80211_iterate_stations_atomic(9), for_each_station(9),
ieee80211_iterate_stations_mtx(9), ieee80211_queue_work(9),
ieee80211_queue_delayed_work(9),
ieee80211_refresh_tx_agg_session_timer(9),
ieee80211_start_tx_ba_session(9), ieee80211_start_tx_ba_cb_irqsafe(9),
ieee80211_stop_tx_ba_session(9), ieee80211_stop_tx_ba_cb_irqsafe(9),
ieee80211_find_sta(9), ieee80211_find_sta_by_ifaddr(9),
ieee80211_find_sta_by_link_addrs(9), ieee80211_sta_block_awake(9),
ieee80211_sta_eosp(9), ieee80211_send_eosp_nullfunc(9),
ieee80211_sta_recalc_aggregates(9), ieee80211_sta_register_airtime(9),
ieee80211_txq_airtime_check(9), ieee80211_txq_aql_pending(9),
ieee80211_iter_keys(9), ieee80211_iter_keys_rcu(9),
ieee80211_iter_chan_contexts_atomic(9),
ieee80211_iter_chan_contexts_mtx(9), ieee80211_ap_probereq_get(9),
ieee80211_beacon_loss(9), ieee80211_connection_loss(9),
ieee80211_disconnect(9), ieee80211_resume_disconnect(9),
ieee80211_hw_restart_disconnect(9), ieee80211_cqm_rssi_notify(9),
ieee80211_cqm_beacon_loss_notify(9), ieee80211_radar_detected(9),
ieee80211_chswitch_done(9), ieee80211_channel_switch_disconnect(9),
ieee80211_request_smps(9), ieee80211_ready_on_channel(9),
ieee80211_remain_on_channel_expired(9), ieee80211_stop_rx_ba_session(9),
ieee80211_mark_rx_ba_filtered_frames(9), ieee80211_send_bar(9),
ieee80211_manage_rx_ba_offl(9), ieee80211_start_rx_ba_session_offl(9),
ieee80211_stop_rx_ba_session_offl(9), ieee80211_rx_ba_timer_expired(9),
struct ieee80211_tx_rate_control(9), enum rate_control_capabilities(9),
rate_control_set_rates(9), ieee80211_get_he_iftype_cap_vif(9),
ieee80211_get_he_6ghz_capa_vif(9), ieee80211_get_eht_iftype_cap_vif(9),
ieee80211_get_uhr_iftype_cap_vif(9), ieee80211_update_mu_groups(9),
ieee80211_ave_rssi(9), ieee80211_calculate_rx_timestamp(9),
ieee80211_report_wowlan_wakeup(9), ieee80211_tx_prepare_skb(9),
ieee80211_parse_tx_radiotap(9), struct ieee80211_noa_data(9),
ieee80211_parse_p2p_noa(9), ieee80211_update_p2p_noa(9),
ieee80211_tdls_oper_request(9), ieee80211_reserve_tid(9),
ieee80211_unreserve_tid(9), ieee80211_tx_dequeue(9),
ieee80211_tx_dequeue_ni(9), ieee80211_handle_wake_tx_queue(9),
ieee80211_next_txq(9), ieee80211_txq_schedule_start(9),
ieee80211_schedule_txq(9), ieee80211_txq_may_transmit(9),
ieee80211_txq_get_depth(9), ieee80211_nan_func_terminated(9),
ieee80211_nan_func_match(9), ieee80211_nan_sched_update_done(9),
ieee80211_nan_cluster_joined(9), ieee80211_nan_try_evacuate(9),
ieee80211_calc_rx_airtime(9), ieee80211_calc_tx_airtime(9),
ieee80211_get_fils_discovery_tmpl(9),
ieee80211_get_unsol_bcast_probe_resp_tmpl(9),
ieee80211_obss_color_collision_notify(9), ieee80211_is_tx_data(9),
ieee80211_set_active_links(9), ieee80211_set_active_links_async(9),
ieee80211_send_teardown_neg_ttlm(9), ieee80211_chan_width_to_rx_bw(9),
ieee80211_prepare_rx_omi_bw(9), ieee80211_finalize_rx_omi_bw(9),
ieee80211_vif_nan_started(9), ieee80211_encrypt_tx_skb(9)
and if you only click one thing in that whole wall, make it ieee80211_next_txq(9) β that's literally the function that gave you the TXQ in the first place π«Ά iykyk.
and that's the page!! short and sweet, just like this manpage π
source/version situation: it comes from ./include/net, version/date October 2026, and the page is ieee80211_return_txq(9) β that's the whole footer bestie, slay π
β¨
go return your TXQs. i believe in you. periodt π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms