-
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.
Default¶
y if
USB_CDC_ACM
Kconfig definition¶
At <Zephyr>/subsys/usb/Kconfig:112
Included via <Zephyr>/Kconfig:8
→ <Zephyr>/Kconfig.zephyr:34
→ <Zephyr>/subsys/Kconfig:42
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 ifUSB_CDC_ACM
depends onUSB_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.)