Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/thunderbolt/icm.c icm_fr_device_connected() -> tb_switch_find_by_link_depth()

Type Parameter Key Value
PARAM_VALUE 0 tb 4096-ptr_max
PARAM_VALUE 0 tb->lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 tb->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 tb->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 tb->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.wait_lock.owner (-1)
PARAM_VALUE 0 tb->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 tb->privdata 4096-ptr_max
PARAM_VALUE 0 tb->privdata->rescan_work.cpu s32min-s32max
PARAM_VALUE 0 tb->root_switch 1-u64max
PARAM_VALUE 1 link 0-7
PARAM_VALUE 2 depth 0-15
CAPPED_DATA 2 depth 1
DATA_SOURCE 0 tb $0
LOCK2 0 &tb->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/icm.c icm_fr_device_connected() -> tb_switch_find_by_link_depth()

Type Parameter Key Value
PARAM_VALUE 0 tb 4096-ptr_max
PARAM_VALUE 0 tb->lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 tb->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 tb->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 tb->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.wait_lock.owner (-1)
PARAM_VALUE 0 tb->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 tb->privdata 4096-ptr_max
PARAM_VALUE 0 tb->privdata->rescan_work.cpu s32min-s32max
PARAM_VALUE 0 tb->root_switch 1-u64max
PARAM_VALUE 1 link 1-8
PARAM_VALUE 2 depth 0-15
CAPPED_DATA 2 depth 1
DATA_SOURCE 0 tb $0
DATA_SOURCE 1 link r dual_link_from_link
LOCK2 0 &tb->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/icm.c icm_fr_device_connected() -> tb_switch_find_by_link_depth()

Type Parameter Key Value
PARAM_VALUE 0 tb 4096-ptr_max
PARAM_VALUE 0 tb->lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 tb->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 tb->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 tb->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.wait_lock.owner (-1)
PARAM_VALUE 0 tb->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 tb->privdata 4096-ptr_max
PARAM_VALUE 0 tb->privdata->rescan_work.cpu s32min-s32max
PARAM_VALUE 0 tb->root_switch 1-u64max
PARAM_VALUE 1 link 0-7
PARAM_VALUE 2 depth 0-14,255
CAPPED_DATA 1 link 1
CAPPED_DATA 2 depth 1
DATA_SOURCE 0 tb $0
LOCK2 0 &tb->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/icm.c icm_fr_device_disconnected() -> tb_switch_find_by_link_depth()

Type Parameter Key Value
PARAM_VALUE 0 tb 4096-ptr_max
PARAM_VALUE 0 tb->lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 tb->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 tb->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 tb->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.wait_lock.owner (-1)
PARAM_VALUE 0 tb->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 tb->root_switch 1-u64max
PARAM_VALUE 1 link 0-4
PARAM_VALUE 2 depth 0-6
DATA_SOURCE 0 tb $0
FUZZY_MAX 1 link 4
FUZZY_MAX 2 depth 6
HARD_MAX 1 link 4
HARD_MAX 2 depth 6
LOCK2 0 &tb->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/icm.c icm_fr_xdomain_connected() -> tb_switch_find_by_link_depth()

Type Parameter Key Value
PARAM_VALUE 0 tb 4096-ptr_max
PARAM_VALUE 0 tb->lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 tb->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 tb->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 tb->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.wait_lock.owner (-1)
PARAM_VALUE 0 tb->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 tb->root_switch 1-u64max
PARAM_VALUE 1 link 0-4
PARAM_VALUE 2 depth 0-6
CAPPED_DATA 1 link 1
CAPPED_DATA 2 depth 1
DATA_SOURCE 0 tb $0
FUZZY_MAX 1 link 4
FUZZY_MAX 2 depth 6
HARD_MAX 1 link 4
HARD_MAX 2 depth 6
LOCK2 0 &tb->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tb)->lock