usb_poison_anchored_urbs(9)
π usb_poison_anchored_urbs(9) π
okay so this is a page straight out of the Kernel API Manual, and bestie, it's literally about telling a whole pile of URBs to stop talking. no cap. let's get into it π«Ά
β¨ NAME β¨
usb_poison_anchored_urbs β cease all traffic from an anchor π
like, imagine an anchor full of requests and you just go "nope, we're done here" and poison the whole vibe. iconic.
π¦ SYNOPSIS π¦
void usb_poison_anchored_urbs (struct usb_anchor *anchor );
that's it. one argument. she's lowkey minimal. β¨
πΈ ARGUMENTS πΈ
anchorβ the anchor that the requests are bound to. yes, this exact anchor. the one you're poisoning. main character energy, fr.
π DESCRIPTION π
so here's the tea β β this lets all outstanding URBs get poisoned, and it starts from the back of the queue and works its way forward. newly added URBs? yeah, they get poisoned too. no escape. not me showing up late and still getting caught in the crossfire π
β οΈ okay this part is important, do NOT skip: this routine should not be called by a driver after its disconnect method has returned. like, genuinely. don't. that's the rule. π¨
π SEE ALSO π
the kernel file lives at ./drivers/usb/core/urb.c, and here's the whole friend group π:
usb_init_urb(9)usb_alloc_urb(9)usb_free_urb(9)usb_get_urb(9)usb_anchor_urb(9)usb_unanchor_urb(9)usb_pipe_type_check(9)usb_urb_ep_type_check(9)usb_submit_urb(9)usb_unlink_urb(9)usb_kill_urb(9)usb_poison_urb(9)usb_block_urb(9)usb_kill_anchored_urbs(9)usb_unpoison_anchored_urbs(9)usb_anchor_suspend_wakeups(9)usb_anchor_resume_wakeups(9)usb_wait_anchor_empty_timeout(9)usb_get_from_anchor(9)usb_scuttle_anchored_urbs(9)usb_anchor_empty(9)
and that's the whole page, bestie! π§ it's filed under ./drivers/usb/core and dated October 2026 β go forth and poison 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