Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_op_tx() -> ath10k_htt_tx_dec_pending()

Type Parameter Key Value
PARAM_VALUE 0 htt 4096-ptr_max
PARAM_VALUE 0 htt->ar->hw_params.max_probe_resp_desc_thres 1-4294967294
PARAM_VALUE 0 htt->max_num_pending_tx (-2147483647)-s32max
PARAM_VALUE 0 htt->num_pending_mgmt_tx s32min-(-1),2-s32max
BUF_SIZE 0 htt 1560
CAPPED_DATA 0 htt->ar->hw_params.max_probe_resp_desc_thres 1
CAPPED_DATA 0 htt->max_num_pending_tx 1
PARAM_COMPARE 0 htt->ar->hw_params.max_probe_resp_desc_thres < $0->num_pending_mgmt_tx
CONSTRAINT 0 htt->num_pending_tx <1063
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ar->htt.tx_lock
LOCK2 bh
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct ath10k_htt)->tx_lock

drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_op_tx() -> ath10k_htt_tx_dec_pending()

Type Parameter Key Value
PARAM_VALUE 0 htt 4096-ptr_max
PARAM_VALUE 0 htt->max_num_pending_tx (-2147483647)-s32max
BUF_SIZE 0 htt 1560
CAPPED_DATA 0 htt->max_num_pending_tx 1
CONSTRAINT 0 htt->num_pending_tx <1063
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ar->htt.tx_lock
LOCK2 bh
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct ath10k_htt)->tx_lock

drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_tx_push_txq() -> ath10k_htt_tx_dec_pending()

Type Parameter Key Value
PARAM_VALUE 0 htt 4096-ptr_max
PARAM_VALUE 0 htt->max_num_pending_tx (-2147483647)-s32max
BUF_SIZE 0 htt 1560
CAPPED_DATA 0 htt->max_num_pending_tx 1
CONSTRAINT 0 htt->num_pending_tx <1063
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ar->htt.tx_lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct ath10k_htt)->tx_lock

drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_tx_push_txq() -> ath10k_htt_tx_dec_pending()

Type Parameter Key Value
PARAM_VALUE 0 htt 4096-ptr_max
PARAM_VALUE 0 htt->ar->hw_params.max_probe_resp_desc_thres 1-4294967294
PARAM_VALUE 0 htt->max_num_pending_tx (-2147483647)-s32max
PARAM_VALUE 0 htt->num_pending_mgmt_tx s32min-(-1),2-s32max
BUF_SIZE 0 htt 1560
CAPPED_DATA 0 htt->ar->hw_params.max_probe_resp_desc_thres 1
CAPPED_DATA 0 htt->max_num_pending_tx 1
PARAM_COMPARE 0 htt->ar->hw_params.max_probe_resp_desc_thres < $0->num_pending_mgmt_tx
CONSTRAINT 0 htt->num_pending_tx <1063
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ar->htt.tx_lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct ath10k_htt)->tx_lock

drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_tx_push_txq() -> ath10k_htt_tx_dec_pending()

Type Parameter Key Value
PARAM_VALUE 0 htt 4096-ptr_max
PARAM_VALUE 0 htt->max_num_pending_tx (-2147483647)-s32max
BUF_SIZE 0 htt 1560
CAPPED_DATA 0 htt->max_num_pending_tx 1
CONSTRAINT 0 htt->num_pending_tx <1063
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ar->htt.tx_lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct ath10k_htt)->tx_lock

drivers/net/wireless/ath/ath10k/txrx.c ath10k_txrx_tx_unref() -> ath10k_htt_tx_dec_pending()

Type Parameter Key Value
PARAM_VALUE 0 htt 4096-ptr_max
PARAM_VALUE 0 htt->ar 4096-ptr_max
PARAM_VALUE 0 htt->max_num_pending_tx 1-s32max
PARAM_VALUE 0 htt->tx_lock.rlock.dep_map->name 0-255
BUF_SIZE 0 htt (-1),1560
BUF_SIZE 0 htt (-1),1560
DATA_SOURCE 0 htt $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 htt->target_version_major 0-255[u]
USER_DATA 0 htt->target_version_minor 0-255[u]
LOCK2 bh
LOCK2 0 &htt->tx_lock
TYPE_LOCK (struct ath10k_htt)->tx_lock