handle_ep(9)
π handle_ep(9) π
okay so bestie, welcome to the handle_ep(9) page from the Kernel API Manual. it's short, it's iconic, and it's doing real endpoint work, so let's get into it π
πΈ NAME πΈ
handle_ep β Handle endpoint data tranfers. (yes, "tranfers" is the original spelling and we are keeping it, it's part of the lore π)
β¨ SYNOPSIS β¨
void handle_ep (struct pxa_ep *ep );
π ARGUMENTS π
epβ the pxa physical endpoint. that's the endpoint you're handling, your main character for this function π«Ά
π¦ DESCRIPTION π¦
okay so handle_ep tries to transfer all pending request data into the endpoint and/or transfer all pending data in the endpoint into usb requests. it's giving "move the pending stuff both ways" and honestly? we love that for it β¨
this is always called from the interrupt handler. periodt.
π¨ do not holdep->lockwhen you call this. the manual saysep->lockmust not be held, and we respect the lock rules in this house π
π SEE ALSO π
if you want the whole friend group, it's all here, no omissions, fr fr: Kernel file ./drivers/usb/gadget/udc/pxa27x_udc.c β is_match_usb_pxa(9), find_pxa_ep(9), update_pxa_ep_matches(9), pio_irq_enable(9), pio_irq_disable(9), udc_set_mask_UDCCR(9), udc_clear_mask_UDCCR(9), ep_write_UDCCSR(9), ep_count_bytes_remain(9), ep_is_empty(9), ep_is_full(9), epout_has_pkt(9), set_ep0state(9), ep0_idle(9), inc_ep_stats_reqs(9), inc_ep_stats_bytes(9), pxa_ep_setup(9), pxa_eps_setup(9), pxa_ep_alloc_request(9), pxa_ep_free_request(9), ep_add_request(9), ep_del_request(9), req_done(9), ep_end_out_req(9), ep0_end_out_req(9), ep_end_in_req(9), ep0_end_in_req(9), nuke(9), read_packet(9), write_packet(9), read_fifo(9), write_fifo(9), read_ep0_fifo(9), write_ep0_fifo(9), pxa_ep_queue(9), pxa_ep_dequeue(9), pxa_ep_set_halt(9), pxa_ep_fifo_status(9), pxa_ep_fifo_flush(9), pxa_ep_enable(9), pxa_ep_disable(9), dplus_pullup(9), pxa_udc_get_frame(9), pxa_udc_wakeup(9), should_enable_udc(9), should_disable_udc(9), pxa_udc_pullup(9), pxa_udc_vbus_session(9), pxa_udc_vbus_draw(9), pxa_udc_phy_event(9), udc_disable(9), udc_init_data(9), udc_enable(9), pxa27x_udc_start(9), stop_activity(9), pxa27x_udc_stop(9), handle_ep0_ctrl_req(9), handle_ep0(9), pxa27x_change_configuration(9), pxa27x_change_interface(9), irq_udc_suspend(9), irq_udc_resume(9), irq_udc_reconfig(9), irq_udc_reset(9), pxa_udc_irq(9), pxa_udc_probe(9), pxa_udc_remove(9), pxa_udc_suspend(9), pxa_udc_resume(9).
mwah π this page lives under ./drivers/usb/gadget/udc and it's stamped October 2026. go handle those endpoints, bestie β no cap, you've got this π«Άπ
π¦ 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