gether_disconnect(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ gether_disconnect(9) ✨

okay so bestie, welcome to the gether_disconnect(9) page β€” it lives in the Kernel API Manual and honestly it's giving "quiet but essential" main character energy πŸ’…


πŸŽ€ NAME πŸŽ€

gether_disconnect β€” the little function that tells the network layer your USB link went inactive πŸ”ŒπŸ’€


🌸 SYNOPSIS 🌸

void gether_disconnect (struct gether *link );

yep that's the whole thing, no cap β€” she takes one arg and returns nothing (void, iconic, doesn't even need to report back 🫢)


πŸ¦‹ ARGUMENTS πŸ¦‹

  • link β€” the USB link, and specifically the one you already called gether_connect on. like, this is the same link, don't be out here disconnecting random links bestie 😭

⭐ CONTEXT ⭐

irqs blocked πŸ”’ β€” that's the vibe check for where you're allowed to call this: interrupts are blocked. periodt.


πŸ’– DESCRIPTION πŸ’–

So here's what's going down: you call this to deactivate the endpoints and let the network layer know the connection went inactive β€” which it reports as "no carrier" πŸ“΅βœ¨

On return, the state is exactly as if gether_connect had never been called. like, the whole thing gets undone, no traces left behind 🧚

  • the endpoints are inactive, and accordingly without active USB I/O
  • pointers to endpoint descriptors and endpoint private data are nulled πŸ«₯

that's it, that's the whole function, and honestly? she ate πŸ”₯


🌈 SEE ALSO 🌈

  • Kernel file ./drivers/usb/gadget/function/u_ether.c
  • gether_connect(9) β€” the one you're undoing, iykyk πŸ‘‘

okay that's the page!! this one comes to you from the fine folks at ./drivers/usb/gadget/function, dated October 2026 β€” mwah, sending you the biggest kiss, go disconnect responsibly πŸ’‹πŸŽ€πŸ’œ

πŸ“¦ where this page comes from