summaryrefslogtreecommitdiff
path: root/src/host
diff options
context:
space:
mode:
authorhathach <[email protected]>2026-02-13 01:10:55 +0700
committerhathach <[email protected]>2026-02-13 01:10:55 +0700
commit35a90f213d75a4630adf576f50d2b5bc8f03456c (patch)
tree42ab3bc2b3816d14bc93d5abb2c84e9286b70f08 /src/host
parentbe24a38a65d8e22fed461b4058e3deb97d5a2907 (diff)
parentd13284d02da552c843e3ccbda4472083f25b0b16 (diff)
Merge branch 'refs/heads/master' into dwc2_vbus
Diffstat (limited to 'src/host')
-rw-r--r--src/host/usbh.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/host/usbh.c b/src/host/usbh.c
index a725b7c8b..41f41dcfb 100644
--- a/src/host/usbh.c
+++ b/src/host/usbh.c
@@ -599,8 +599,14 @@ void tuh_task_ext(uint32_t timeout_ms, bool in_isr) {
return;
}
- // Loop until there is no more events in the queue
- while (1) {
+ // Loop until there are no more events in the queue or CFG_TUH_TASK_EVENTS_PER_RUN is reached
+ for (unsigned epr = 0;; epr++) {
+#if CFG_TUH_TASK_EVENTS_PER_RUN > 0
+ if (epr >= CFG_TUH_TASK_EVENTS_PER_RUN) {
+ TU_LOG_USBH("USBH event limit (" TU_XSTRING(CFG_TUH_TASK_EVENTS_PER_RUN) ") reached\r\n");
+ break;
+ }
+#endif
hcd_event_t event;
if (!osal_queue_receive(_usbh_q, &event, timeout_ms)) { return; }