ath5k_hw_set...word_tx_desc(9)
π ath5k_hw_setup_4word_tx_desc β Kernel API Manual moment β¨
okay so bestie, welcome to the ath5k_hw_set...word_tx_desc(9) page β that's the truncated header name fr, the actual star of the show is ath5k_hw_setup_4word_tx_desc and she's giving kernel-API-manual energy π
πΈ NAME πΈ
ath5k_hw_setup_4word_tx_desc β Initialize a 4-word tx control descriptor. that's it, that's the whole vibe π
β¨ SYNOPSIS β¨
int ath5k_hw_setup_4word_tx_desc (struct ath5k_hw *ah , struct
ath5k_desc *desc , unsigned int pkt_len , unsigned int hdr_len , int
padsize , enum ath5k_pkt_type type , unsigned int tx_power , unsigned
int tx_rate0 , unsigned int tx_tries0 , unsigned int key_index ,
unsigned int antenna_mode , unsigned int flags , unsigned int
rtscts_rate , unsigned int rtscts_duration );
look at all those parameters, she's highkey thorough π but like, iconic of her
π¦ ARGUMENTS π¦
ahβ Thestruct ath5k_hw. the main character struct, the hardware herself π«Άdescβ Thestruct ath5k_desc. the descriptor we're about to make cute and functional β¨pkt_lenβ Frame length in bytes. yeah, in bytes, not vibes πhdr_lenβ Header length in bytes (only used on AR5210). bestie note: this one's AR5210-only, everywhere else she's just sitting there πpadsizeβ Any padding we've added to the frame length. we padded her, no cap πtypeβ One ofenum ath5k_pkt_type. pick your fighter πtx_powerβ Tx power in 0.5dB steps. half-dB steps fr, precision queen π₯tx_rate0β HW idx for transmission rate. hardware index, not a vibe index πtx_tries0β Max number of retransmissions. how many times we're willing to try again πkey_indexβ Index on key table to use for encryption. the key table is literally right there πantenna_modeβ Which antenna to use (0 for auto).0means auto, let the hardware decide, main character energy π«flagsβ One ofAR5K_TXDESC_*flags (desc.h). go readdesc.h, iykyk πrtscts_rateβ HW idx for RTS/CTS transmission rate. another hardware idx, she's consistent βrtscts_durationβ What to put on duration field on the header of RTS/CTS. duration field, header, RTS/CTS β all of it goes in there π
π DESCRIPTION π
So this is an internal function, okay, not like a public-facing slay, and what she does is initialize a 4-Word TX control descriptor β the kind that's found on AR5212 and later MACs chips π§
Returns 0 on success or -EINVAL on false input.
ngl bestie, if you feed her false input she WILL return -EINVAL, that's the vibe check and you did not pass it π
π SEE ALSO π
- Kernel file
./drivers/net/wireless/ath/ath5k/desc.cβ the source of truth, go read it π - Hardware descriptor functions(9)
ath5k_hw_setup_2word_tx_desc(9)β her 2-word sister, also iconicath5k_hw_setup_mrr_tx_desc(9)ath5k_hw_proc_2word_tx_status(9)ath5k_hw_proc_4word_tx_status(9)β the status-side counterpart of this whole situationath5k_hw_setup_rx_desc(9)β rx girlies stand upath5k_hw_proc_5210_rx_status(9)ath5k_hw_proc_5212_rx_status(9)ath5k_hw_init_desc_functions(9)
and that's the page!! π«Ά shoutout to ./drivers/net/wireless/ath/ath5k for being the source, and October 2026 for the date β she's from the future bestie, we love a time traveler πβ¨π
π¦ 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