usb_hc_died(9)
π usb_hc_died β like, the Kernel API Manual, section 9, bestie
okay so gather round, this is usb_hc_died from the Kernel API Manual (section 9, yes, the kernel-flavored one) and it's literally the function you call when a host controller just β¨diesβ¨ on you mid-vibe. no cap.
β¨ NAME β¨
usb_hc_died β report abnormal shutdown of a host controller (bus glue)
like, your USB host controller gave up on life while stuff was still pending, and this is the function that announces it. π
π SYNOPSIS π
void usb_hc_died (struct usb_hcd *hcd );
that's it. that's the whole signature. short and iconic. π«Ά
πΈ ARGUMENTS πΈ
hcdβ pointer to the HCD representing the controller. that's the whole argument, she's simple, she's lowkey perfect.
π¦ DESCRIPTION π¦
so here's the tea π β this one is called by bus glue to report a USB host controller that died while operations may still have been pending. like, mid-flight, still-queued, not-done-yet operations. the whole "wait, we were in the middle of something" situation. π
and literally, it's called automatically by the PCI glue. so only glue for non-PCI busses should need to call it. if you're writing PCI glue, don't @ this function, it already did the thing for you. iykyk.
π¨ important vibe check: only call this function with the primary HCD. like, the main character one. not the shared one. the primary one. periodt. π
π₯ SEE ALSO π₯
fr fr go read the kernel file ./drivers/usb/core/hcd.c, and then also these icons:
usb_hcd-adjacent besties, aka the whole friend group: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_check_unlink_urb(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_create_shared_hcd(9)usb_create_hcd(9)usb_stop_hcd(9)usb_add_hcd(9)usb_remove_hcd(9)
and that's the page, bestie π sending you good vibes and a controller that never dies on you π§
sign-off time π β this little masterpiece lives in ./drivers/usb/core, dated October 2026, and it's page usb_hc_died(9) of the Kernel API Manual. slay. π
π¦ 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