/* This is called in the context of udc_ep_enqueue() and must not block. The driver can immediately claim the buffer if the queue is empty, but usually it is offloaded to a thread or workqueue to handle transfers in a single location. Please refer to existing driver implementations for examples.  */
static int udc_skeleton_ep_enqueue(const struct device *dev, struct udc_ep_config *const cfg, struct net_buf *buf)
/* This is called in the context of udc_ep_enqueue() and must not block. The driver can immediately claim the buffer if the queue is empty, but usually it is offloaded to a thread or workqueue to handle transfers in a single location. Please refer to existing driver implementations for examples.  */
static int udc_skeleton_ep_enqueue(const struct device *dev, struct udc_ep_config *const cfg, struct net_buf *buf)
{
	LOG_DBG("%p enqueue %p", dev, buf);
	udc_buf_put(cfg, buf);
	if (cfg->stat.halted) {
		LOG_DBG("ep 0x%02x halted", cfg->addr);
		return 0;
	}
	return 0;
}