Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/net/wireless/mediatek/mt76/mt7615/mcu.c mt76_mcu_skb_send_msg() -> mt76_mcu_skb_send_and_get_msg()

Type Parameter Key Value
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 2 cmd 0-u16max,131072-131327
PARAM_VALUE 3 wait_resp 1
PARAM_VALUE 4 ret_skb 0
BUF_SIZE 1 skb (-1)-s32max
BUF_SIZE 1 skb (-1)-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 skb $1
DATA_SOURCE 2 cmd $2
DATA_SOURCE 3 wait_resp $3
BIT_INFO 2 cmd 0x0,0x2ffff
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->mmio.irqmask 0-u32max[c]
HOST_DATA 0 dev->rx_token.idr_rt.xa_flags 0,4-u32max
HOST_DATA 0 dev->rxfilter 0-u32max
HOST_DATA 0 dev->token.idr_rt.xa_flags 0,67108864-u32max
HALF_LOCKED2 &dev->mt76.mutex

drivers/net/wireless/mediatek/mt76/mt7925/nan.c mt76_mcu_skb_send_msg() -> mt76_mcu_skb_send_and_get_msg()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->drv->sta_event 0,5526447710253006848,5926626912113283072,7074918766046724096,7406248434222362624
PARAM_VALUE 0 dev->drv->sta_remove 0,787476775156809728,880781342038126592,1379321575973339136,1638238924180213760,2697964353006272512,3760022059396878336
PARAM_VALUE 0 dev->mcu_ops 4096-ptr_max
PARAM_VALUE 0 dev->mcu_ops->headroom 0,4,32,64,68
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->data->tlv_num 0-u16max
PARAM_VALUE 1 skb->data_len 0
PARAM_VALUE 2 cmd 131072-131327
PARAM_VALUE 3 wait_resp 1
PARAM_VALUE 4 ret_skb 0
BUF_SIZE 0 dev (-1),53736
BUF_SIZE 0 dev (-1),53736
BUF_SIZE 1 skb 0-s32max
BUF_SIZE 1 skb 0-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 skb $1
DATA_SOURCE 2 cmd $2
DATA_SOURCE 3 wait_resp $3
BIT_INFO 2 cmd 0x20000,0x200ff
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mt76.mutex

drivers/net/wireless/mediatek/mt76/mcu.c mt76_mcu_send_and_get_msg() -> mt76_mcu_skb_send_and_get_msg()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mcu_ops 4096-ptr_max
PARAM_VALUE 0 dev->mcu_ops->headroom 0,4,32,64,68
PARAM_VALUE 0 dev->mcu_ops->mcu_send_msg 0
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 4 ret_skb 0,4096-ptr_max
BUF_SIZE 1 skb 0-s32max
BUF_SIZE 1 skb 0-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 skb r mt76_mcu_msg_alloc
DATA_SOURCE 2 cmd $1
DATA_SOURCE 3 wait_resp $4
DATA_SOURCE 4 ret_skb $5
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->mmio.irqmask 0-u32max[c]
HOST_DATA 0 dev->rx_token.idr_rt.xa_flags 0-u32max
HOST_DATA 0 dev->rxfilter 0-u32max
HOST_DATA 0 dev->token.idr_rt.xa_flags 0,67108864-u32max
USER_PTR 4 (*ret_skb).data
HALF_LOCKED2 &(phy->dev)->mt76.mutex
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &dev->mt76.mutex
HALF_LOCKED2 &mdev->mt76.mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 &s->lock
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/mediatek/mt76/mt7615/testmode.c mt76_mcu_skb_send_msg() -> mt76_mcu_skb_send_and_get_msg()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->eeprom.data 4096-ptr_max
PARAM_VALUE 0 dev->mcu_ops 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->data_len 0
PARAM_VALUE 2 cmd 0-u16max
PARAM_VALUE 3 wait_resp 0
PARAM_VALUE 4 ret_skb 0
BUF_SIZE 1 skb 0-s32max
BUF_SIZE 1 skb 0-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 skb $1
DATA_SOURCE 2 cmd $2
DATA_SOURCE 3 wait_resp $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7925/mcu.c mt76_mcu_skb_send_msg() -> mt76_mcu_skb_send_and_get_msg()

Type Parameter Key Value
PARAM_VALUE 0 dev->alpha2 0,144,13835058055282163712
PARAM_VALUE 0 dev->mcu_ops 4096-ptr_max
PARAM_VALUE 0 dev->mcu_ops->headroom 0,4,32,64,68
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 2 cmd 131072-131327,1703936-1704191
PARAM_VALUE 3 wait_resp 1
PARAM_VALUE 4 ret_skb 0
BUF_SIZE 1 skb 0-s32max
BUF_SIZE 1 skb 0-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 skb $1
DATA_SOURCE 2 cmd $2
DATA_SOURCE 3 wait_resp $3
BIT_INFO 2 cmd 0x0,0x1bffff
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->mmio.irqmask 0-u32max[c]
HOST_DATA 0 dev->rx_token.idr_rt.xa_flags 0,4-u32max
HOST_DATA 0 dev->rxfilter 0-u32max
HOST_DATA 0 dev->token.idr_rt.xa_flags 0,67108864-u32max
HALF_LOCKED2 &(phy->dev)->mt76.mutex
HALF_LOCKED2 &dev->mt76.mutex

drivers/net/wireless/mediatek/mt76/mt7996/mcu.c mt76_mcu_skb_send_msg() -> mt76_mcu_skb_send_and_get_msg()

Type Parameter Key Value
PARAM_VALUE 0 dev->mcu_ops 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->data_len 0
PARAM_VALUE 2 cmd 1179648-1179903,1703936-1704191
PARAM_VALUE 3 wait_resp 1
PARAM_VALUE 4 ret_skb 0
BUF_SIZE 1 skb 0-s32max
BUF_SIZE 1 skb 0-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 skb $1
DATA_SOURCE 2 cmd $2
DATA_SOURCE 3 wait_resp $3
BIT_INFO 2 cmd 0x120000,0x1a00ff
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->mmio.irqmask 0-u32max[c]
HOST_DATA 0 dev->rx_token.idr_rt.xa_flags 0-u32max
HOST_DATA 0 dev->rxfilter 0-u32max
HOST_DATA 0 dev->token.idr_rt.xa_flags 0,67108864-u32max
HALF_LOCKED2 &dev->mt76.mutex

drivers/net/wireless/mediatek/mt76/mt7921/mcu.c __mt7921_mcu_set_clc() -> mt76_mcu_skb_send_and_get_msg()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dev 4096-ptr_max
PARAM_VALUE 0 dev->mcu_ops 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->data_len 0
PARAM_VALUE 2 cmd 262144-262399
PARAM_VALUE 4 ret_skb 181713017552760832
PARAM_VALUE 4 *ret_skb 0,4096-ptr_max
BUF_SIZE 1 skb 0-s32max
BUF_SIZE 1 skb 0-s32max
DATA_SOURCE 1 skb r __mt76_mcu_msg_alloc
BIT_INFO 2 cmd 0x40000,0x400ff
RX_PATH
TASK_NOT_RUNNING
USER_PTR 4 (*ret_skb).data
HALF_LOCKED2 &dev->mt76.mutex

drivers/net/wireless/mediatek/mt76/mt7925/mac.c mt76_mcu_skb_send_msg() -> mt76_mcu_skb_send_and_get_msg()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->phy.dev 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->next 0
PARAM_VALUE 1 skb->prev 0
PARAM_VALUE 2 cmd 131072-131327
PARAM_VALUE 3 wait_resp 1
PARAM_VALUE 4 ret_skb 0
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 skb $1
DATA_SOURCE 2 cmd $2
DATA_SOURCE 3 wait_resp $3
BIT_INFO 2 cmd 0x20000,0x200ff
LOCK2 &dev->mt76.mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7915/mcu.c mt76_mcu_skb_send_msg() -> mt76_mcu_skb_send_and_get_msg()

Type Parameter Key Value
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->data_len 0
PARAM_VALUE 2 cmd 0-u16max
PARAM_VALUE 4 ret_skb 0
BUF_SIZE 1 skb (-1)-s32max
BUF_SIZE 1 skb (-1)-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 skb $1
DATA_SOURCE 2 cmd $2
DATA_SOURCE 3 wait_resp $3
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->mmio.irqmask 0-u32max[c]
HOST_DATA 0 dev->rx_token.idr_rt.xa_flags 0-u32max
HOST_DATA 0 dev->rxfilter 0-u32max
HALF_LOCKED2 &dev->mt76.mutex

drivers/net/wireless/mediatek/mt76/mt7921/mac.c mt76_mcu_skb_send_msg() -> mt76_mcu_skb_send_and_get_msg()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->phy.dev 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->next 0
PARAM_VALUE 1 skb->prev 0
PARAM_VALUE 2 cmd 131072-131327
PARAM_VALUE 3 wait_resp 1
PARAM_VALUE 4 ret_skb 0
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 skb $1
DATA_SOURCE 2 cmd $2
DATA_SOURCE 3 wait_resp $3
BIT_INFO 2 cmd 0x20000,0x200ff
LOCK2 &dev->mt76.mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c mt76_mcu_skb_send_msg() -> mt76_mcu_skb_send_and_get_msg()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->alpha2 0,144,13835058055282163712
PARAM_VALUE 0 dev->mcu_ops->headroom 0,4,32,64,68
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 2 cmd 0-u16max,131072-131327,262144-262399
PARAM_VALUE 4 ret_skb 0
BUF_SIZE 1 skb (-1)-s32max
BUF_SIZE 1 skb (-1)-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 skb $1
DATA_SOURCE 2 cmd $2
DATA_SOURCE 3 wait_resp $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dev->mcu.msg_seq 0-u32max[u]
HALF_LOCKED2 &dev->mt76.mutex