git: 55a3bd000d97 - main - usb(4): Make sure the enumeration thread doesn't loop too fast.
Date: Wed, 05 Oct 2022 10:13:41 UTC
The branch main has been updated by hselasky:
URL: https://cgit.FreeBSD.org/src/commit/?id=55a3bd000d9799f431c207e359466484ac63c137
commit 55a3bd000d9799f431c207e359466484ac63c137
Author: Hans Petter Selasky <hselasky@FreeBSD.org>
AuthorDate: 2022-06-09 13:15:49 +0000
Commit: Hans Petter Selasky <hselasky@FreeBSD.org>
CommitDate: 2022-10-05 10:12:33 +0000
usb(4): Make sure the enumeration thread doesn't loop too fast.
MFC after: 1 week
Sponsored by: NVIDIA Networking
---
sys/dev/usb/controller/usb_controller.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys/dev/usb/controller/usb_controller.c b/sys/dev/usb/controller/usb_controller.c
index 0897af0492cb..959f54a4583f 100644
--- a/sys/dev/usb/controller/usb_controller.c
+++ b/sys/dev/usb/controller/usb_controller.c
@@ -414,6 +414,9 @@ usb_bus_explore(struct usb_proc_msg *pm)
#if USB_HAVE_ROOT_MOUNT_HOLD
usb_root_mount_rel(bus);
#endif
+
+ /* Nice the enumeration a bit, to avoid looping too fast. */
+ usb_pause_mtx(&bus->bus_mtx, USB_MS_TO_TICKS(16));
}
/*------------------------------------------------------------------------*