iwl_txq_free_tfd(9)
π iwl_txq_free_tfd β Kernel API Manual, bestie edition β¨
okay so real talk, this is a page from the Kernel API Manual, and it's about iwl_txq_free_tfd, which is giving "quiet little cleanup function that does exactly one job and refuses to do anything else." main character energy honestly.
πΈ NAME πΈ
iwl_txq_free_tfd β frees, like, all the chunks referenced by TFD [txq->q.read_ptr] π
yes that's the whole assignment. she frees the chunks. that's it. no cap.
π SYNOPSIS π
void iwl_txq_free_tfd (struct iwl_trans *trans , struct iwl_tq *txq ,
int read_ptr );
wait no, hold up, let me not fumble the signature, here it is exactly, character for character, because we do NOT typo kernel code in this group chat π:
void iwl_txq_free_tfd (struct iwl_trans *trans , struct iwl_txq *txq ,
int read_ptr );
returns void btw. she gives nothing back. she's not here to hand you a return value, she's here to free things. periodt. π
π¦ ARGUMENTS π¦
transβ transport private data π«Ά this is the private-data bag the transport carries around with it, and yes it's literally described as "transport private data," so respect her privacy.txqβ the tx queue β that's the TX queue we're operating on, bestie.read_ptrβ the TXQread_ptrto free π₯ the actual read pointer we want freed. that's the one. not a different one. this one.
β¨ DESCRIPTION β¨
okay so, lowkey the most important part of this whole page is what she doesn't do, and I need you to hear me out on this because the caveats are doing a LOT of heavy lifting:
- she does NOT advance any TFD circular buffer read/write indexes π«π like, at all. not the read index, not the write index. the circular buffer's indexes stay exactly where they are. do not expect movement. there is no movement.
- she does NOT free the TFD itself π because the TFD lives within the circular buffer, and that's not her business. she frees the chunks referenced by the TFD. the TFD itself stays put, chilling inside the circular buffer.
so yeah, she's a very specific little function with very specific boundaries, and honestly? iconic. knows her lane. stays in it. π
β οΈ if you were hoping this would advance indexes or nuke the TFD itself, bestie, it will not. the manpage is extremely clear on this and I'm just the messenger π§
π SEE ALSO π
- Kernel file
./drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.cπ β the actual source file, go read her, she's right there iwl_pcie_get_sgt_tb_phys(9)βiwl_pcie_prep_tso(9)β
iykyk π
and that's the page!! π cute little sign-off time: this one came from the source/version line ./drivers/net/wireless/intel/i... and it's dated October 2026, manual name Kernel API Manual, page iwl_txq_free_tfd(9) β slay, go free those chunks responsibly πβ¨π¦
π¦ 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