diff options
author | hselasky <hselasky@FreeBSD.org> | 2014-10-08 07:00:50 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2014-10-08 07:00:50 +0000 |
commit | 3a2fd4b2473c379a563488eee36c1c1eade342a2 (patch) | |
tree | 5a93d5b2aa00843826e57cc1c0f063f0aecd64fa /sys/dev/usb/controller | |
parent | b8f8abc3284c85e5e71b70e6166eab26ed703634 (diff) | |
download | FreeBSD-src-3a2fd4b2473c379a563488eee36c1c1eade342a2.zip FreeBSD-src-3a2fd4b2473c379a563488eee36c1c1eade342a2.tar.gz |
Add support for disabling USB enumeration in general or on selected
USB HUBs.
MFC after: 2 weeks
Diffstat (limited to 'sys/dev/usb/controller')
-rw-r--r-- | sys/dev/usb/controller/usb_controller.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/dev/usb/controller/usb_controller.c b/sys/dev/usb/controller/usb_controller.c index dc10591..1d202dd 100644 --- a/sys/dev/usb/controller/usb_controller.c +++ b/sys/dev/usb/controller/usb_controller.c @@ -102,6 +102,14 @@ static int usb_no_shutdown_wait = 0; SYSCTL_INT(_hw_usb, OID_AUTO, no_shutdown_wait, CTLFLAG_RWTUN, &usb_no_shutdown_wait, 0, "No USB device waiting at system shutdown."); +#if USB_HAVE_DISABLE_ENUM +static int usb_disable_enumeration = 0; +SYSCTL_INT(_hw_usb, OID_AUTO, disable_enumeration, CTLFLAG_RWTUN, + &usb_disable_enumeration, 0, "Set to disable all USB device enumeration."); +#else +#define usb_disable_enumeration 0 +#endif + static devclass_t usb_devclass; static device_method_t usb_methods[] = { @@ -371,7 +379,8 @@ usb_bus_explore(struct usb_proc_msg *pm) USB_BUS_LOCK(bus); } - if (udev != NULL && udev->hub != NULL) { + if (usb_disable_enumeration == 0 && + udev != NULL && udev->hub != NULL) { if (bus->do_probe) { bus->do_probe = 0; |