usb_ep_set_wedge(9)
π usb_ep_set_wedge(9) β the Kernel API Manual, bestie edition
okay so real talk, you're reading the page for usb_ep_set_wedge(9) out of the Kernel API Manual, and honestly? it's a whole mood. it's short, it's spicy, it's giving "small function, big attitude." let's get into it π
β¨ NAME β¨
usb_ep_set_wedge β sets the halt feature and ignores clear requests π«Ά
like bestie, it does NOT want to hear your CLEAR_FEATURE requests. it said what it said.
πΈ SYNOPSIS πΈ
int usb_ep_set_wedge (struct usb_ep *ep );
yes, that's the whole signature. one int out, one endpoint in. simple. iconic. periodt.
π¦ ARGUMENTS π¦
epβ the endpoint being wedged π that's the one you're about to make immovable, fr fr.
π§ DESCRIPTION π§
Use this to stall an endpoint and ignore CLEAR_FEATURE(HALT_ENDPOINT) requests. that's the entire point. you're not just stalling it, you're putting it on do-not-disturb. π
but here's the tea β if the gadget driver clears the halt status, it will automatically unwedge the endpoint. so like, you're not trapping it forever, someone with the right keys can still let it out. slay β¨
This routine may be called in interrupt context. no cap, that's allowed. π₯
Returns zero on success, else negative errno. so check that return value, bestie, don't just vibe past it π
π SEE ALSO π
Kernel file ./drivers/usb/gadget/udc/core.c β that's where the magic lives, iykyk. and the rest of the USB gadget squad, in all their glory:
struct usb_udc(9)usb_ep_set_maxpacket_limit(9)usb_ep_enable(9)usb_ep_disable(9)usb_ep_alloc_request(9)usb_ep_free_request(9)usb_ep_queue(9)usb_ep_dequeue(9)usb_ep_set_halt(9)usb_ep_clear_halt(9)usb_ep_fifo_status(9)usb_ep_fifo_flush(9)usb_gadget_frame_number(9)usb_gadget_wakeup(9)usb_gadget_set_remote_wakeup(9)usb_gadget_set_selfpowered(9)usb_gadget_clear_selfpowered(9)usb_gadget_vbus_connect(9)usb_gadget_vbus_draw(9)usb_gadget_vbus_disconnect(9)usb_gadget_connect(9)usb_gadget_disconnect(9)usb_gadget_deactivate(9)usb_gadget_activate(9)usb_gadget_giveback_request(9)gadget_find_ep_by_name(9)usb_gadget_check_config(9)usb_udc_vbus_handler(9)usb_gadget_udc_reset(9)usb_gadget_udc_start_locked(9)usb_gadget_udc_stop_locked(9)usb_gadget_udc_set_speed(9)usb_gadget_enable_async_callbacks(9)usb_gadget_disable_async_callbacks(9)usb_udc_release(9)usb_initialize_gadget(9)usb_add_gadget(9)usb_add_gadget_udc_release(9)usb_get_gadget_udc_name(9)usb_add_gadget_udc(9)usb_del_gadget(9)usb_del_gadget_udc(9)
and that's the whole page, bestie π this one came out of the ./drivers/usb/gadget/udc directory, dated October 2026, and it's filed under usb_ep_set_wedge(9). go wedge something responsibly πβ¨π¦
π¦ 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