Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/thunderbolt/icm.c icm_request() -> tb_cfg_request_alloc()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &sw->tb->lock
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/icm.c icm_usb4_switch_nvm_authenticate() -> tb_cfg_request_alloc()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &sw->tb->lock

drivers/thunderbolt/dma_port.c dma_port_read() -> tb_cfg_request_alloc()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/thunderbolt/dma_port.c dma_port_write() -> tb_cfg_request_alloc()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &sw->tb->lock

drivers/thunderbolt/xdomain.c __tb_xdomain_request() -> tb_cfg_request_alloc()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/thunderbolt/xdomain.c __tb_xdomain_response() -> tb_cfg_request_alloc()

Type Parameter Key Value
RX_PATH
HALF_LOCKED2 &pool->lock

drivers/thunderbolt/ctl.c tb_cfg_read_raw() -> tb_cfg_request_alloc()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/ctl.c tb_cfg_reset() -> tb_cfg_request_alloc()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tb->lock
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/ctl.c tb_cfg_write_raw() -> tb_cfg_request_alloc()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock