Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/net/wireless/st/cw1200/txrx.c cw1200_alloc_link_id() -> wsm_lock_tx_async()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->link_id_db 4096-ptr_max
PARAM_VALUE 0 priv->ps_state_lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 priv $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &priv->ps_state_lock
TYPE_LOCK (struct cw1200_common)->ps_state_lock

drivers/net/wireless/st/cw1200/txrx.c cw1200_link_id_reset() -> wsm_lock_tx_async()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->action_frame_sa 4096-ptr_max
PARAM_VALUE 0 priv->action_linkid 0
PARAM_VALUE 0 priv->link_id_db 4096-ptr_max
PARAM_VALUE 0 priv->ps_state_lock.rlock.dep_map->name 0-255
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/wireless/st/cw1200/txrx.c cw1200_link_id_reset() -> wsm_lock_tx_async()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->action_linkid 1-255
PARAM_VALUE 0 priv->link_id_db 4096-ptr_max
PARAM_VALUE 0 priv->ps_state_lock.rlock.dep_map->name 0-255
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/wireless/st/cw1200/txrx.c cw1200_tx_h_rate_policy() -> wsm_lock_tx_async()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->bh_error 0
PARAM_VALUE 0 priv->ps_state_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 priv->tx_policy_cache.used.next 4096-ptr_max
PARAM_VALUE 0 priv->tx_policy_cache.used.next->next 4096-ptr_max
PARAM_VALUE 0 priv->tx_policy_cache.used.next->prev 4096-ptr_max
DATA_SOURCE 0 priv $0
PARAM_COMPARE 0 &priv->tx_policy_cache.free != $0->tx_policy_cache.free.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 &priv->bss_loss_lock

drivers/net/wireless/st/cw1200/pm.c cw1200_wow_suspend() -> wsm_lock_tx_async()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->channel_switch_in_progress 0
PARAM_VALUE 0 priv->join_pending 0
PARAM_VALUE 0 priv->pm_state.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 priv->pm_state.stay_awake.entry.pprev 0
PARAM_VALUE 0 priv->scan.lock.count 0-2147483646
PARAM_VALUE 0 priv->scan.lock.lock.dep_map->name 0-255
PARAM_VALUE 0 priv->scan.lock.lock.owner (-1)
PARAM_VALUE 0 priv->scan.lock.lock.owner_cpu u32max
PARAM_VALUE 0 priv->tx_queue_stats.num_queued 0
CAPPED_DATA 0 &priv->conf_mutex 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &rtnl_mutex
LOCK2 0 &priv->conf_mutex
LOCK2 0 &priv->scan.lock
HALF_LOCKED2 &local->hw.wiphy->mtx
HALF_LOCKED2 &rdev->wiphy.mtx
TYPE_LOCK (struct cw1200_common)->conf_mutex
TYPE_LOCK (struct cw1200_scan)->lock
TYPE_LOCK (struct wiphy)->mtx

drivers/net/wireless/st/cw1200/wsm.c wsm_handle_tx_data() -> wsm_lock_tx_async()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->device_can_sleep 0
PARAM_VALUE 0 priv->hwbus_priv->claimed s32min-s32max
PARAM_VALUE 0 priv->mode 1-2,7
PARAM_VALUE 0 priv->ps_state_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 priv->wsm_cmd.ptr 0
DATA_SOURCE 0 priv $0
NOCHECK_CALL
USER_DATA 0 priv->pending_frame_id 0-u32max[u]

drivers/net/wireless/st/cw1200/wsm.c wsm_handle_tx_data() -> wsm_lock_tx_async()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->device_can_sleep 0
PARAM_VALUE 0 priv->hwbus_priv->claimed s32min-s32max
PARAM_VALUE 0 priv->mode 1-3,7
PARAM_VALUE 0 priv->ps_state_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 priv->wsm_cmd.ptr 0
CAPPED_DATA 0 &priv->unjoin_work 1
DATA_SOURCE 0 priv $0
NOCHECK_CALL
USER_DATA 0 priv->pending_frame_id 0-u32max[u]

drivers/net/wireless/st/cw1200/wsm.c wsm_handle_tx_data() -> wsm_lock_tx_async()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->device_can_sleep 0
PARAM_VALUE 0 priv->hwbus_priv->claimed s32min-s32max
PARAM_VALUE 0 priv->mode 1-3,7
PARAM_VALUE 0 priv->ps_state_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 priv->wsm_cmd.ptr 0
DATA_SOURCE 0 priv $0
NOCHECK_CALL
USER_DATA 0 priv->pending_frame_id 0-u32max[u]

drivers/net/wireless/st/cw1200/wsm.c wsm_receive_indication() -> wsm_lock_tx_async()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->buf_id_rx 0-3
PARAM_VALUE 0 priv->hwbus_ops 4096-ptr_max
PARAM_VALUE 0 priv->hwbus_priv->claimed s32min-s32max
PARAM_VALUE 0 priv->hwbus_priv->func->card->host->claim_cnt s32min-s32max
PARAM_VALUE 0 priv->hwbus_priv->func->card->host->claimed 0-1
PARAM_VALUE 0 priv->hwbus_priv->func->card->host->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 priv->hwbus_priv->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 priv->join_status 4
PARAM_VALUE 0 priv->wsm_rx_seq 0-7
CAPPED_DATA 0 priv->wsm_rx_seq 1
DATA_SOURCE 0 priv $0
NOSPEC 0 priv->wsm_rx_seq
RX_PATH
NOCHECK_CALL
USER_DATA 0 priv->wsm_rx_seq 0-7[c]

drivers/net/wireless/st/cw1200/sta.c cw1200_sta_remove() -> wsm_lock_tx_async()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->link_id_db 4096-ptr_max
PARAM_VALUE 0 priv->mode 3
PARAM_VALUE 0 priv->ps_state_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &priv->ps_state_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct cw1200_common)->ps_state_lock