dwc2_hcd_qh_free(9)
π« dwc2_hcd_qh_free(9) π«
okay so bestie, welcome to the Kernel API Manual β today's main character is dwc2_hcd_qh_free, straight out of your kernel's USB drama department π
β¨ NAME β¨
dwc2_hcd_qh_free β frees the QH. that's it, that's the vibe. it's the cleanup girlie πΈ
π¦ SYNOPSIS π¦
void dwc2_hcd_qh_free (struct dwc2_hsotg *hsotg , struct dwc2_qh *qh );
π ARGUMENTS π
hsotgβ the HCD instance. your whole controller situation, basically π«Άqhβ the QH you're freeing. say bye bestie π
π₯ DESCRIPTION π₯
okay so real talk, before you call this: QH should already be removed from the list. like, already off the list, not "I'll do it later". and the QTD list should already be empty if this is being called from URB Dequeue. no leftovers, no crumbs, we clean as we go β¨
β οΈ Must NOT be called with interrupt disabled or spinlock held. not me warning you twice β this is non-negotiable, fr fr. interrupt disabled? nope. spinlock held? nope. don't do it π
π SEE ALSO π
kernel file: ./drivers/usb/dwc2/hcd_queue.c β that's the home address, iykyk π
and the whole squad, in order, no one left out:
dwc2_periodic_channel_available(9)dwc2_check_periodic_bandwidth(9)pmap_schedule(9)pmap_unschedule(9)dwc2_get_ls_map(9)dwc2_qh_print(9)dwc2_qh_schedule_print(9)dwc2_ls_pmap_schedule(9)dwc2_ls_pmap_unschedule(9)dwc2_hs_pmap_schedule(9)dwc2_hs_pmap_unschedule(9)dwc2_uframe_schedule_split(9)dwc2_uframe_schedule_hs(9)dwc2_uframe_schedule_ls(9)dwc2_uframe_schedule(9)dwc2_uframe_unschedule(9)dwc2_pick_first_frame(9)dwc2_do_reserve(9)dwc2_do_unreserve(9)dwc2_unreserve_timer_fn(9)dwc2_check_max_xfer_size(9)dwc2_schedule_periodic(9)dwc2_deschedule_periodic(9)dwc2_wait_timer_fn(9)dwc2_qh_init(9)dwc2_hcd_qh_create(9)dwc2_hcd_qh_add(9)dwc2_hcd_qh_unlink(9)dwc2_next_for_periodic_split(9)dwc2_next_periodic_start(9)dwc2_hcd_qtd_init(9)dwc2_hcd_qtd_add(9)
that's the whole page, you ate it up π
this little manual lives under ./drivers/usb/dwc2, dated October 2026 β and it's dwc2_hcd_qh_free(9), iconic, no cap. now go free that QH 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