bcm63xx_udc_dequeue(9)
π bcm63xx_udc_dequeue β bestie's guide to yeeting a request out of the queue
Okay so real talk, this is a page straight out of the Kernel API Manual, and today we're deep in the USB gadget driver trenches. Buckle up, it's giving kernel-nerd slay β¨
β¨ NAME β¨
bcm63xx_udc_dequeue β literally just removes a pending request from the queue. That's it. That's the whole vibe π
πΈ SYNOPSIS πΈ
int bcm63xx_udc_dequeue (struct usb_ep *ep , struct usb_request *req );
π¦ ARGUMENTS π¦
epβ the endpoint that's hanging out with this request, like its emotional support endpoint fr fr π«Άreqβ the request you want gone. bye bestie π
π DESCRIPTION π
okay so here's the tea β β it depends on where the request is sitting in the queue:
- Not at the head of the queue? easy mode, lowkey a breeze β just nuke it. πβ¨
- At the head of the queue? now we're in main character territory π we can't just vibe it out of existence, we have to stop the DMA transaction first, and then queue up the successor. the way that's so much more work for one little request, honestly π
π SEE ALSO π
this is the part where I list literally everyone in the friend group, no one gets left out π
Kernel file ./drivers/usb/gadget/udc/bcm63xx_udc.c, plus:
struct iudma_ch_cfg(9)struct iudma_ch(9)struct bcm63xx_ep(9)struct bcm63xx_req(9)struct bcm63xx_udc(9)bcm63xx_ep_dma_select(9)bcm63xx_set_stall(9)bcm63xx_fifo_setup(9)bcm63xx_fifo_reset_ep(9)bcm63xx_fifo_reset(9)bcm63xx_ep_init(9)bcm63xx_ep_setup(9)iudma_write(9)iudma_read(9)iudma_reset_channel(9)iudma_init_channel(9)iudma_init(9)iudma_uninit(9)bcm63xx_set_ctrl_irqs(9)bcm63xx_select_phy_mode(9)bcm63xx_select_pullup(9)bcm63xx_uninit_udc_hw(9)bcm63xx_init_udc_hw(9)bcm63xx_ep_enable(9)bcm63xx_ep_disable(9)bcm63xx_udc_alloc_request(9)bcm63xx_udc_free_request(9)bcm63xx_udc_queue(9)bcm63xx_udc_set_halt(9)bcm63xx_udc_set_wedge(9)bcm63xx_ep0_setup_callback(9)bcm63xx_ep0_spoof_set_cfg(9)bcm63xx_ep0_spoof_set_iface(9)bcm63xx_ep0_map_write(9)bcm63xx_ep0_complete(9)bcm63xx_ep0_nuke_reply(9)bcm63xx_ep0_read_complete(9)bcm63xx_ep0_internal_request(9)bcm63xx_ep0_do_setup(9)bcm63xx_ep0_do_idle(9)bcm63xx_ep0_one_round(9)bcm63xx_ep0_process(9)bcm63xx_udc_get_frame(9)bcm63xx_udc_pullup(9)bcm63xx_udc_start(9)bcm63xx_udc_stop(9)bcm63xx_update_cfg_iface(9)bcm63xx_update_link_speed(9)bcm63xx_update_wedge(9)bcm63xx_udc_ctrl_isr(9)bcm63xx_udc_data_isr(9)bcm63xx_udc_init_debugfs(9)bcm63xx_udc_cleanup_debugfs(9)bcm63xx_udc_probe(9)bcm63xx_udc_remove(9)
and that's the whole page, bestie ππ go forth and dequeue responsibly!!
this one came from ./drivers/usb/gadget/udc, dated October 2026 β consider this your cute lil sign-off, mwah πβ¨π
π¦ 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