CONFIG_USB_WORKQUEUE
Use a dedicate work queue in the USB subsystem
Type: bool
Help
This option provides a dedicated work queue that is used for
all offloaded operations initiated by the USB subsystem.
This prevents deadlock situations where tasks on the system
workqueue inadvertently initiate operations that block, such
as UART transmission on CDC-ACM, preventing the system work
queue from making progress on the USB tasks that would
release the task.
Without this the system work queue is used for all USB
offloaded transfers.
Direct dependencies
(Includes any dependencies from ifs and menus.)
Default
y if
USB_CDC_ACM
Kconfig definition
At <Zephyr>/subsys/usb/Kconfig:123
Included via <Zephyr>/Kconfig:8
→ <Zephyr>/Kconfig.zephyr:44
→ <Zephyr>/subsys/Kconfig:49
Menu path: (Top) → Sub Systems and OS Services → USB Device Support
config USB_WORKQUEUE
bool "Use a dedicate work queue in the USB subsystem"
default y if USB_CDC_ACM
depends on USB_DEVICE_STACK
help
This option provides a dedicated work queue that is used for
all offloaded operations initiated by the USB subsystem.
This prevents deadlock situations where tasks on the system
workqueue inadvertently initiate operations that block, such
as UART transmission on CDC-ACM, preventing the system work
queue from making progress on the USB tasks that would
release the task.
Without this the system work queue is used for all USB
offloaded transfers.
(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)