summaryrefslogtreecommitdiff
path: root/src/host
diff options
context:
space:
mode:
authorhathach <[email protected]>2026-02-11 23:58:41 +0700
committerhathach <[email protected]>2026-02-11 23:58:41 +0700
commit30802a19c99ac8983d893782b380ced6747e6373 (patch)
tree2d81ef25959360067c18a3e050547080e6557104 /src/host
parent8a8cea57806f729a49644217d5ee4ebb1ba7a1bb (diff)
parent2883403ed010c54c33a38c28358a4dd0c67d67c0 (diff)
Merge remote-tracking branch 'origin/master' into msc_stall
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; }