dwc2_gadget_..._ep_disabled(9)
π dwc2_gadget_handle_ep_disabled β from the Kernel API Manual, bestie β¨
okay so picture this: you're deep in the dwc2 USB gadget driver, the hardware just yelled DXEPINT_EPDISBLD at you, and this little function is the one who answers the door. it's giving "unbothered middle manager of endpoint interrupts" and honestly? iconic. π
πΈ NAME πΈ
dwc2_gadget_handle_ep_disabled β the one that handles DXEPINT_EPDISBLD. that's it. that's the job. π
β¨ SYNOPSIS β¨
void dwc2_gadget_handle_ep_disabled (struct dwc2_hsotg_ep *hs_ep );
like, it returns void, it takes one thing, and it handles its business. no drama, no return value, no cap. π«Ά
π¦ ARGUMENTS π¦
hs_epβ the endpoint that's out here with the interrupt asserted. literally that endpoint. the main character of this call. π
π DESCRIPTION π
so this interrupt is basically the hardware sliding into your mentions to say: hey bestie, this endpoint got disabled β and it happened because the application asked for it. per the application's request. as in, not a random accident, it was on purpose. okurrr. πββοΈ
here's the breakdown by endpoint type, no details skipped:
- IN endpoints β it flushes
txfifo. clean slate energy. π§Ό- for BULK, it clears
DCTL_CGNPINNAK. - for ISOC, it completes the current request.
- for BULK, it clears
- ISOC-OUT endpoints β it completes the expired requests. and if there's a remaining request? yup, it starts it. the way it just keeps the queue moving, we love a self-starter. π₯
π SEE ALSO π
okay buckle up bestie, this list is long long. don't panic, just scroll. it's the whole dwc2 friend group, and they're all in the kernel file ./drivers/usb/dwc2/gadget.c:
using_dma(9)dwc2_gadget_incr_frame_num(9)dwc2_gadget_dec_frame_num_by_one(9)dwc2_hsotg_en_gsint(9)dwc2_hsotg_disable_gsint(9)dwc2_hsotg_ctrl_epint(9)dwc2_hsotg_tx_fifo_count(9)dwc2_hsotg_tx_fifo_total_depth(9)dwc2_gadget_wkup_alert_handler(9)dwc2_hsotg_tx_fifo_average_depth(9)dwc2_hsotg_init_fifo(9)dwc2_hsotg_ep_alloc_request(9)is_ep_periodic(9)dwc2_hsotg_unmap_dma(9)dwc2_hsotg_write_fifo(9)get_ep_limit(9)dwc2_hsotg_read_frameno(9)dwc2_gadget_get_chain_limit(9)dwc2_hsotg_start_req(9)dwc2_hsotg_map_dma(9)dwc2_gadget_target_frame_elapsed(9)dwc2_hsotg_complete_oursetup(9)ep_from_windex(9)dwc2_hsotg_set_test_mode(9)dwc2_hsotg_send_reply(9)dwc2_hsotg_process_req_status(9)get_ep_head(9)dwc2_gadget_start_next_request(9)dwc2_hsotg_process_req_feature(9)dwc2_hsotg_stall_ep0(9)dwc2_hsotg_process_control(9)dwc2_hsotg_complete_setup(9)dwc2_hsotg_enqueue_setup(9)dwc2_hsotg_complete_request(9)dwc2_hsotg_rx_data(9)dwc2_hsotg_ep0_zlp(9)dwc2_hsotg_handle_outdone(9)dwc2_hsotg_handle_rx(9)dwc2_hsotg_ep0_mps(9)dwc2_hsotg_set_ep_maxpacket(9)dwc2_hsotg_txfifo_flush(9)dwc2_hsotg_trytx(9)dwc2_hsotg_complete_in(9)dwc2_gadget_read_ep_interrupts(9)dwc2_gadget_handle_out_token_ep_disabled(9)dwc2_gadget_handle_nak(9)dwc2_hsotg_epint(9)dwc2_hsotg_irq_enumdone(9)kill_all_requests(9)dwc2_hsotg_disconnect(9)dwc2_hsotg_irq_fifoempty(9)dwc2_hsotg_core_init_disconnected(9)dwc2_gadget_handle_incomplete_isoc_in(9)dwc2_gadget_handle_incomplete_isoc_out(9)dwc2_hsotg_irq(9)dwc2_hsotg_ep_enable(9)dwc2_hsotg_ep_disable(9)on_list(9)dwc2_hsotg_ep_dequeue(9)dwc2_gadget_ep_set_wedge(9)dwc2_hsotg_ep_sethalt(9)dwc2_hsotg_ep_sethalt_lock(9)dwc2_hsotg_init(9)dwc2_hsotg_udc_start(9)dwc2_hsotg_udc_stop(9)dwc2_hsotg_gadget_getframe(9)dwc2_hsotg_set_selfpowered(9)dwc2_hsotg_pullup(9)dwc2_hsotg_vbus_draw(9)dwc2_hsotg_initep(9)dwc2_hsotg_hw_cfg(9)dwc2_hsotg_dump(9)dwc2_gadget_init(9)dwc2_hsotg_remove(9)dwc2_backup_device_registers(9)dwc2_restore_device_registers(9)dwc2_gadget_init_lpm(9)dwc2_gadget_program_ref_clk(9)dwc2_gadget_enter_hibernation(9)dwc2_gadget_exit_hibernation(9)dwc2_gadget_enter_partial_power_down(9)dwc2_gadget_enter_clock_gating(9)
yeah. eighty-something functions. i counted the vibes, not the numbers. iykyk. π
and that's the whole page, bestie β no crumbs left behind π«Ά
source:./drivers/usb/dwc2Β· dated October 2026 Β· from the Kernel API Manual (dwc2_gadget_..._ep_disabled(9)). go read the real thing in./drivers/usb/dwc2/gadget.c, it ate and left no notes. π
π¦ 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