ep_end_in_req(9)
πΈ ep_end_in_req(9) β like, the Kernel API Manual page bestie πΈ
Okay so welcome to ep_end_in_req(9), straight out of the Kernel API Manual, and no cap this page is short but it matters π
. It's the little function that says "we're done here" to an endpoint IN request. Iconic. Let's get into it π
β¨ SYNOPSIS β¨
void ep_end_in_req (struct pxa_ep *ep , struct pxa27x_request *req ,
unsigned long *pflags );
That's the whole signature, bestie β copy it exactly, don't be out here renaming stuff π
π«Ά ARGUMENTS π«Ά
epβ the physical endpoint. like, the actual hardware endpoint itself, the main character π«reqβ the pxa request. yes, that pxa request, the one you're ending π¦pflagsβ flags from a previousspinlock_irq_save, orNULLif no lock is held. so either you got the flags or you don't, there's no in-between π₯
π CONTEXT π
ep->lock held or released (see req_done). that's it, that's the vibe check β the lock situation depends on that, and req_done is where you go look π
β DESCRIPTION β
Ends endpoint IN request (completes usb request). literally that's the whole job π it wraps up the IN request and completes the usb request. slay, short and sweet, no notes β¨
π SEE ALSO π
the whole friend group, fr fr β Kernel file ./drivers/usb/gadget/udc/pxa27x_udc.c is basically the group chat and everyone's in it:
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), 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), handle_ep(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)
and that's the page!! mwah π okay so the sign-off β this beauty lives under ./drivers/usb/gadget/udc, dated October 2026, and it's filed under the name ep_end_in_req(9) π¦ go forth and end those IN requests, you absolute icon πβ¨
π¦ 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