diff --git a/subsys/usb/device_next/usbd_device.c b/subsys/usb/device_next/usbd_device.c index fcb689a5c567e..f87583cf04d76 100644 --- a/subsys/usb/device_next/usbd_device.c +++ b/subsys/usb/device_next/usbd_device.c @@ -317,6 +317,7 @@ int usbd_disable(struct usbd_context *const uds_ctx) return -EALREADY; } + k_sched_lock(); usbd_device_lock(uds_ctx); ret = usbd_config_set(uds_ctx, 0); @@ -332,6 +333,7 @@ int usbd_disable(struct usbd_context *const uds_ctx) uds_ctx->status.enabled = false; usbd_device_unlock(uds_ctx); + k_sched_unlock(); return ret; } diff --git a/subsys/usb/device_next/usbd_endpoint.c b/subsys/usb/device_next/usbd_endpoint.c index 1e0ef658d35ca..699396667afd1 100644 --- a/subsys/usb/device_next/usbd_endpoint.c +++ b/subsys/usb/device_next/usbd_endpoint.c @@ -50,8 +50,6 @@ int usbd_ep_disable(const struct device *dev, return ret; } - k_yield(); - return ret; }