diff --git a/drivers/usb/device/usb_dc_stm32.c b/drivers/usb/device/usb_dc_stm32.c index 509bffdd2a3..a0597ac4ba3 100644 --- a/drivers/usb/device/usb_dc_stm32.c +++ b/drivers/usb/device/usb_dc_stm32.c @@ -865,6 +865,10 @@ int usb_dc_ep_clear_stall(const uint8_t ep) return -EINVAL; } + if (!ep_state->ep_stalled) { + return 0; + } + status = HAL_PCD_EP_ClrStall(&usb_dc_stm32_state.pcd, ep); if (status != HAL_OK) { LOG_ERR("HAL_PCD_EP_ClrStall failed(0x%02x), %d", ep,