ei_tx_err(9)
π ei_tx_err(9) β like, the kernel API manual, but make it make sense
okay so bestie, welcome to the Kernel API Manual entry for ei_tx_err β yes that's the manual name, we're not copying the whole header line, we're being cute about it π
β¨ NAME β¨
ei_tx_err β handle transmitter error π«Ά
πΈ SYNOPSIS πΈ
void ei_tx_err (struct net_device *dev );
π¦ ARGUMENTS π¦
devβ the network device which threw the exception π like, this is the card that's having a moment
π DESCRIPTION π
so picture this: a transmitter error has happened. iconic of it, honestly. most likely it's excess collisions, which β fun fact β is a fairly normal condition, so don't panic, it's giving "this is fine" π₯
but here's the slay part: if the error is one where the Tx will have been aborted, we try and send another one right away, instead of letting the failed packet sit and collect dust in the Tx buffer π like ma'am, we are not leaving you on read in there
this is a much better solution, no cap, because it avoids:
- kernel based Tx timeouts β°
- an unnecessary card reset π
lowkey important: called with lock held π don't forget or it's gonna be a whole thing
π SEE ALSO π
- Kernel file
./drivers/net/ethernet/8390/lib8390.c ei_tx_intr(9)ei_receive(9)ei_rx_overrun(9)do_set_multicast_list(9)ethdev_setup(9)
go read those too, iykyk π
and that's the vibe check, bestie β this page lives at ./drivers/net/ethernet/8390, dated October 2026, and it's literally called ei_tx_err(9) in case you forgot already πβ¨π
π¦ 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