STRUCT ZD_USB_TX(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct zd_usb_tx(9) β€” the kernel API manual, bestie edition

okay so picture this: it's a page straight out of the Kernel API Manual, section 9, and it's about one (1) struct. yes we're doing a whole manual page for a struct. iconic behaviour honestly πŸŽ€

✨ NAME ✨

struct zd_usb_tx β€” the structure used for transmitting frames πŸ¦‹

✨ SYNOPSIS ✨

struct zd_usb_tx {
    atomic_t enabled;
    spinlock_t lock;
    struct delayed_work watchdog_work;
    struct sk_buff_head submitted_skbs;
    struct usb_anchor submitted;
    int submitted_urbs;
    u8 stopped:1, watchdog_enabled:1;
 };

like, look at her. main character struct energy. πŸ‘‘

✨ Members ✨

  • enabled β€” an atomic enabled flag πŸ’« β€” basically it tells you whether tx is enabled or not, no cap
  • lock β€” the lock for transmission πŸ”’ β€” yes she's got a lock, the vibes must be protected
  • submitted β€” the anchor for URBs sent to device βš“ β€” that's where the sent URBs hang out
  • submitted_urbs β€” an atomic integer that counts the URBs having sent to the device, which haven't been completed 😭 β€” so like, in-flight, not-yet-finished URBs, and it's counting them atomically fr fr
  • stopped β€” indicates whether higher level tx queues are stopped πŸ›‘ β€” highkey important to know
ngl the struct up there in the synopsis also has watchdog_work, submitted_skbs and watchdog_enabled:1 living in it, and the page has zero commentary on those, so I'm not gonna invent any. we respect the source πŸ™ˆ

🌈 SEE ALSO 🌈

Kernel file ./drivers/net/wireless/zydas/zd1211rw/zd_usb.h β€” go read the source bestie, iykyk πŸ’œ


and that's the whole vibe check ✨ this little gem came from ./drivers/net/wireless/zydas/z..., dated October 2026 β€” periodt, no notes πŸ’…πŸŒΈ

πŸ“¦ where this page comes from