cdns3_gadget...free_request(9)
π
cdns3_gadget_ep_free_request β like, the whole kernel API manual moment
okay bestie, so this is a page straight out of the Kernel API Manual, and the function we're stanning is cdns3_gadget_ep_free_request. No cap, it's a little one, but it matters π
β¨ NAME β¨
cdns3_gadget_ep_free_request β frees the memory that a request is hogging π«Ά
Like, the request had its turn, it ate, and now it's time to hand the memory back. Periodt.
πΈ SYNOPSIS πΈ
void cdns3_gadget_ep_free_request (struct usb_ep *ep , struct
usb_request *request );
Returns void, meaning it gives you nothing back β it just vibes and does the thing. Iconic, honestly π
π¦ ARGUMENTS π¦
epβ the endpoint object that's associated with the request π like, who does this request belong to? That'sep.requestβ the request itself, the one you're freeing memory for π yes, this is the actual thing being deallocated.
Both of them are struct pointers and both of them are required. Not optional, bestie. Not a vibe check you can skip.
π₯ SEE ALSO π₯
First up, the kernel file this lives in β go read it if you're feeling brave:
./drivers/usb/cdns3/cdns3-gadget.c
And then the full friend group, because this function lowkey runs with everybody:
cdns3_clear_register_bit(9)cdns3_set_register_bit(9)cdns3_ep_addr_to_index(9)cdns3_next_request(9)cdns3_next_align_buf(9)cdns3_next_priv_request(9)cdns3_select_ep(9)cdns3_get_tdl(9)cdns3_allocate_trb_pool(9)cdns3_ep_stall_flush(9)cdns3_hw_reset_eps_config(9)cdns3_ep_inc_trb(9)cdns3_ep_inc_enq(9)cdns3_ep_inc_deq(9)cdns3_allow_enable_l1(9)cdns3_start_all_request(9)cdns3_wa2_descmiss_copy_data(9)cdns3_wa2_descmissing_packet(9)cdns3_gadget_giveback(9)cdns3_ep_run_transfer(9)cdns3_trb_handled(9)cdns3_check_ep_interrupt_proceed(9)cdns3_check_usb_interrupt_proceed(9)cdns3_device_irq_handler(9)cdns3_device_thread_irq_handler(9)cdns3_ep_onchip_buffer_reserve(9)cdns3_ep_config(9)cdns3_gadget_ep_alloc_request(9)cdns3_gadget_ep_enable(9)cdns3_gadget_ep_disable(9)__cdns3_gadget_ep_queue(9)cdns3_gadget_ep_dequeue(9)__cdns3_gadget_ep_set_halt(9)__cdns3_gadget_ep_clear_halt(9)cdns3_gadget_ep_set_halt(9)cdns3_gadget_get_frame(9)cdns3_gadget_udc_start(9)cdns3_gadget_udc_stop(9)cdns3_gadget_check_config(9)cdns3_init_eps(9)cdns3_gadget_init(9)
That's the whole squad, iykyk π
and that's the page!! mwah π it lives under ./drivers/usb/cdns3 and the manual dates it October 2026 β so yeah, future vibes only β¨π go free those requests, bestie, you're gonna 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