usb_gadget_udc_stop_locked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, this is page usb_gadget_udc_stop_locked(9) from the Kernel API Manual, and it’s lowkey the β€œwe’re so done here” button for a USB device controller. ✨

πŸŽ€ NAME πŸŽ€

usb_gadget_udc_stop_locked β€” tells usb device controller we don't need it anymore. Like, it’s the function that says β€œyou can stop now, bestie” to the UDC. πŸ’…

✨ SYNOPSIS ✨

void usb_gadget_udc_stop_locked (struct usb_udc *udc );

🫢 ARGUMENTS 🫢

  • udc β€” the UDC that’s getting stopped.

πŸ”₯ DESCRIPTION πŸ”₯

Here’s the tea: the UDC Class driver issues this call after calling the gadget driver’s unbind method. So unbind already happened, and then this comes through to stop the UDC. 🫑

The details are implementation specific, but it can go as far as powering off the UDC completely and disabling its data line pullups. Literally full shutdown energy, no cap. πŸ’€

Caller should acquire connect lock before invoking this function. That’s a should from the docs, bestie, so don’t just vibe in there without it. πŸ”’

🌈 SEE ALSO 🌈

Kernel file ./drivers/usb/gadget/udc/core.c β€” and the whole reference squad is here, fr fr:


cute sign-off time: this page’s source/version lane is ./drivers/usb/gadget/udc, dated October 2026, and the header title is usb_gadget_udc_stop_locked(9). periodt. πŸ’–βœ¨

πŸ“¦ where this page comes from