usb_block_urb(9)
β¨ NAME β¨
usb_block_urb β reliably prevent further use of an URB
okay so bestie, this is usb_block_urb(9) from the Kernel API Manual. Translation: it's the routine that makes an URB stay down and stop trying to resubmit itself. iconic behavior, honestly π
π¦ SYNOPSIS π¦
void usb_block_urb (struct urb *urb );
π ARGUMENTS π
urbβ pointer to the URB to be blocked, and yes bestie it may beNULLπ
π DESCRIPTION π
After the routine has run, attempts to resubmit the URB will fail with error -EPERM. So even if the URB's completion handler always tries to resubmit, it will not succeed, and the URB will become idle. that's the whole slay: no sneaky comeback resubmits, no cap π«Ά
okay but fr fr, the URB must not be deallocated while this routine is running. not even a little. In particular, when a driver calls this routine, it must insure that the completion handler cannot deallocate the URB. this part is non-negotiable, bestie β protect the URB from deallocation while this runs π
π SEE ALSO π
Kernel file ./drivers/usb/core/urb.c β plus the whole squad of related calls, all with main character energy π
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_kill_anchored_urbs(9)usb_poison_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)
mwah π that's the page, bestie. source/version: ./drivers/usb/core Β· date: October 2026 Β· manual: usb_block_urb(9) Β· periodt π
π¦ 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