usb_hcd_check_unlink_urb(9)
β¨ NAME β¨
okay so this page is usb_hcd_check_unlink_urb(9) from the Kernel API Manual, and it's literally the vibe check for whether an URB may be unlinked. π«Ά
π¦ SYNOPSIS π¦
This is the whole signature, character for character, bestie:
int usb_hcd_check_unlink_urb (struct usb_hcd *hcd , struct urb *urb ,
int status );
π ARGUMENTS π
hcdβ host controller to whichurbwas submitted. πurbβ URB being checked for unlinkability. π¦statusβ error code to store inurbif the unlink succeeds. π
π DESCRIPTION π
Host controller drivers should call this routine in their dequeue method. No cap.
β οΈ The HCD's private spinlock must be held and interrupts must be disabled. π₯
The actions carried out here are required to make sure an unlink is valid. β¨
Here's the tea on the error codes:
-EIDRMβurbwas not submitted or has already completed. The completion function may not have been called yet. π-EBUSYβurbhas already been unlinked. π
π₯ RETURN π₯
0 for no error, otherwise a negative error code (in which case the dequeue method must fail). The possible error codes are: -EIDRM and -EBUSY, the two from above. π
π SEE ALSO π
Go peek at these, iykyk:
- Kernel file β
./drivers/usb/core/hcd.c ascii2desc(9)rh_string(9)usb_bus_init(9)usb_register_bus(9)usb_deregister_bus(9)register_root_hub(9)usb_calc_bus_time(9)usb_hcd_link_urb_to_ep(9)usb_hcd_unlink_urb_from_ep(9)usb_hcd_giveback_urb(9)usb_hcd_alloc_bandwidth(9)usb_hcd_reset_endpoint(9)usb_alloc_streams(9)usb_free_streams(9)usb_hcd_resume_root_hub(9)usb_bus_start_enum(9)usb_hcd_irq(9)usb_hc_died(9)usb_create_shared_hcd(9)usb_create_hcd(9)usb_stop_hcd(9)usb_add_hcd(9)usb_remove_hcd(9)
xoxo π sourced from ./drivers/usb/core, dated October 2026, and it's your girl usb_hcd_check_unlink_urb(9) signing off. π
β¨
π¦ 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