velocity_free_tx_buf(9)
π velocity_free_tx_buf(9) β like, the Kernel API Manual page, bestie
okay so before we even get into it: this page lives in the Kernel API Manual under the name velocity_free_tx_buf (section 9, iykyk), and it's about one (1) very specific little cleanup job. she's not glamorous, but she's load-bearing. π«Ά
β¨ NAME β¨
velocity_free_tx_buf β free transmit buffer
like... she frees the transmit buffer. that's the whole vibe. no cap. π
πΈ SYNOPSIS πΈ
void velocity_free_tx_buf (struct velocity_info *vptr , struct
velocity_td_info *tdinfo , struct tx_desc *td );
three args, one void return, zero drama (mostly). β¨
π ARGUMENTS π
vptrβ velocity π (yes that's the whole description, she's concise)tdinfoβ buffer π§tdβ the transmit descriptor to free π₯
π¦ DESCRIPTION π¦
okay so the whole β¨thingβ¨ here is: release a transmit buffer. that's it, that's the job.
but here's the part you actually need to remember, bestie β she does a little vibe check first: π
- if the buffer was preallocated, she recycles it β»οΈ
- if it was not preallocated, she unmaps the buffer π
so like, don't go assuming it always unmaps. it depends. read the room (and the preallocation state). periodt. π
π SEE ALSO π
so there's a whole friend group here, and honestly? iconic. the kernel file this lives in is ./drivers/net/ethernet/via/via-velocity.c π₯ β and then, in the order they're listed, we've got:
mac_get_cam_mask(9),mac_set_cam_mask(9),mac_set_cam(9),mac_wol_reset(9),get_chip_name(9),velocity_set_int_opt(9),velocity_set_bool_opt(9),velocity_get_options(9),velocity_init_cam_filter(9),velocity_rx_reset(9),velocity_get_opt_media_mode(9),safe_disable_mii_autopoll(9),enable_mii_autopoll(9),velocity_mii_read(9),mii_check_media_mode(9),velocity_mii_write(9),set_mii_flow_control(9),mii_set_auto_on(9),velocity_set_media_mode(9),velocity_print_link_status(9),enable_flow_control_ability(9),velocity_soft_reset(9),velocity_set_multi(9),mii_init(9),setup_queue_timers(9),setup_adaptive_interrupts(9),velocity_init_registers(9),velocity_init_dma_rings(9),velocity_alloc_rx_buf(9),velocity_free_rd_ring(9),velocity_init_rd_ring(9),velocity_init_td_ring(9),velocity_free_dma_rings(9),velocity_free_td_ring(9),velocity_error(9),velocity_tx_srv(9),velocity_rx_csum(9),velocity_rx_copy(9),velocity_iph_realign(9),velocity_receive_frame(9),velocity_rx_srv(9),velocity_intr(9),velocity_open(9),velocity_shutdown(9),velocity_change_mtu(9),velocity_poll_controller(9),velocity_mii_ioctl(9),velocity_ioctl(9),velocity_get_stats(9),velocity_close(9),velocity_xmit(9),velocity_init_info(9),velocity_get_pci_info(9),velocity_get_platform_info(9),velocity_print_info(9),velocity_probe(9),velocity_remove(9),wol_calc_crc(9),velocity_set_wol(9),velocity_save_context(9),velocity_restore_context(9),velocity_ethtool_up(9),velocity_ethtool_down(9),velocity_init_module(9),velocity_cleanup_module(9)
yeah. that's a lot of besties. write them down, they will come up. ππ
ngl the whole page is like three sentences long and yet she contains multitudes. recycle or unmap. that's the whole personality. π
k so that's the page!! this masterpiece dropped in October 2026, lives at ./drivers/net/ethernet/via, and answers to velocity_free_tx_buf(9) β mwah, go free those buffers responsibly bestie πβ¨π
π¦ 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