Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/wireless/mediatek/mt76/mt7925/mcu.c mt7925_connac_mcu_set_wow_ctrl() -> mt7925_mcu_sched_scan_req()

Type Parameter Key Value
PARAM_VALUE 0 phy 4096-ptr_max
PARAM_VALUE 0 phy->dev 4096-ptr_max
PARAM_VALUE 0 phy->dev->mcu.mutex.dep_map->name 0-255
PARAM_VALUE 0 phy->dev->mcu.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 phy->dev->mcu.mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 phy->dev->mcu.mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 phy->dev->mcu.mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 phy->dev->mcu.mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 phy->dev->mcu.mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 phy->dev->mcu.mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 phy->dev->mcu_ops 4096-ptr_max
PARAM_VALUE 0 phy->hw 4096-ptr_max
PARAM_VALUE 0 phy->hw->wiphy 4096-ptr_max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->drv_priv 4096-ptr_max
PARAM_VALUE 2 sreq 1-u64max
PARAM_VALUE 3 ies 1322032578789441536
BUF_SIZE 0 phy s32min-(-1),1-s32max
BUF_SIZE 0 phy s32min-(-1),1-s32max
DATA_SOURCE 0 phy $0
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 phy->antenna_mask 0-255[u]
USER_DATA 0 phy->band_idx 0-255[u]
USER_DATA 0 phy->cap.has_2ghz 0-1[u]
USER_DATA 0 phy->cap.has_5ghz 0-1[u]
USER_DATA 0 phy->cap.has_6ghz 0-1[u]
USER_DATA 0 phy->chainmask 0-u16max[u]
USER_DATA 0 phy->chandef.center_freq1 0-u32max[u]
USER_DATA 0 phy->chandef.center_freq2 0-u32max[u]
USER_DATA 0 phy->chandef.edmg.bw_config 0-u32max[u]
USER_DATA 0 phy->chandef.edmg.channels 0-255[u]
USER_DATA 0 phy->chandef.freq1_offset 0-u16max[u]
USER_DATA 0 phy->chandef.npca_punctured 0-u16max[u]
USER_DATA 0 phy->chandef.punctured 0-u16max[u]
USER_DATA 0 phy->chandef.s1g_primary_2mhz 0-1[u]
USER_DATA 0 phy->chandef.width 0-u32max[u]
USER_DATA 0 phy->dfs_state 0-u32max[u]
USER_DATA 0 phy->leds.al 0-1[u]
USER_DATA 0 phy->leds.cdev.activated 0-1[u]
USER_DATA 0 phy->leds.cdev.blink_brightness s32min-s32max[u]
USER_DATA 0 phy->leds.cdev.blink_delay_off 0-u64max[u]
USER_DATA 0 phy->leds.cdev.blink_delay_on 0-u64max[u]
USER_DATA 0 phy->leds.cdev.blink_timer.expires 0-u64max[u]
USER_DATA 0 phy->leds.cdev.blink_timer.flags 0-u32max[u]
USER_DATA 0 phy->leds.cdev.brightness 0-u32max[u]
USER_DATA 0 phy->leds.cdev.brightness_hw_changed s32min-s32max[u]
USER_DATA 0 phy->leds.cdev.color 0-u32max[u]
USER_DATA 0 phy->leds.cdev.delayed_delay_off 0-u64max[u]
USER_DATA 0 phy->leds.cdev.delayed_delay_on 0-u64max[u]
USER_DATA 0 phy->leds.cdev.delayed_set_value s32min-s32max[u]
USER_DATA 0 phy->leds.cdev.flags s32min-s32max[u]
USER_DATA 0 phy->leds.cdev.led_access.osq.tail.counter s32min-s32max[u]
USER_DATA 0 phy->leds.cdev.led_access.owner.counter s64min-s64max[u]
USER_DATA 0 phy->leds.cdev.max_brightness 0-u32max[u]
USER_DATA 0 phy->leds.cdev.new_blink_brightness s32min-s32max[u]
USER_DATA 0 phy->leds.cdev.set_brightness_work.data.counter s64min-s64max[u]
USER_DATA 0 phy->leds.cdev.trigger_lock.count.counter s64min-s64max[u]
USER_DATA 0 phy->leds.cdev.trigger_lock.osq.tail.counter s32min-s32max[u]
USER_DATA 0 phy->leds.cdev.trigger_lock.owner.counter s64min-s64max[u]
USER_DATA 0 phy->leds.cdev.work_flags 0-u64max[u]
USER_DATA 0 phy->leds.pin 0-255[u]
USER_DATA 0 phy->mac_work.cpu s32min-s32max[u]
USER_DATA 0 phy->mac_work.timer.expires 0-u64max[u]
USER_DATA 0 phy->mac_work.timer.flags 0-u32max[u]
USER_DATA 0 phy->mac_work.work.data.counter s64min-s64max[u]
USER_DATA 0 phy->mac_work_count 0-255[u]
USER_DATA 0 phy->main_chandef.center_freq1 0-u32max[u]
USER_DATA 0 phy->main_chandef.center_freq2 0-u32max[u]
USER_DATA 0 phy->main_chandef.edmg.bw_config 0-u32max[u]
USER_DATA 0 phy->main_chandef.edmg.channels 0-255[u]
USER_DATA 0 phy->main_chandef.freq1_offset 0-u16max[u]
USER_DATA 0 phy->main_chandef.npca_punctured 0-u16max[u]
USER_DATA 0 phy->main_chandef.punctured 0-u16max[u]
USER_DATA 0 phy->main_chandef.s1g_primary_2mhz 0-1[u]
USER_DATA 0 phy->main_chandef.width 0-u32max[u]
USER_DATA 0 phy->mgmt_tx_pending.counter s32min-s32max[u]
USER_DATA 0 phy->no_active_monitor 0-1[u]
USER_DATA 0 phy->num_sta 0-u32max[u]
USER_DATA 0 phy->offchannel 0-1[u]
USER_DATA 0 phy->radar_enabled 0-1[u]
USER_DATA 0 phy->roc_work.cpu s32min-s32max[u]
USER_DATA 0 phy->roc_work.timer.expires 0-u64max[u]
USER_DATA 0 phy->roc_work.timer.flags 0-u32max[u]
USER_DATA 0 phy->roc_work.work.data.counter s64min-s64max[u]
USER_DATA 0 phy->sband_2g.sband.band 0-u32max[u]
USER_DATA 0 phy->sband_2g.sband.edmg_cap.bw_config 0-u32max[u]
USER_DATA 0 phy->sband_2g.sband.edmg_cap.channels 0-255[u]
USER_DATA 0 phy->sband_2g.sband.ht_cap.ampdu_density 0-255[u]
USER_DATA 0 phy->sband_2g.sband.ht_cap.ampdu_factor 0-255[u]
USER_DATA 0 phy->sband_2g.sband.ht_cap.cap 0-u16max[u]
USER_DATA 0 phy->sband_2g.sband.ht_cap.ht_supported 0-1[u]
USER_DATA 0 phy->sband_2g.sband.ht_cap.mcs.rx_highest 0-u16max[u]
USER_DATA 0 phy->sband_2g.sband.ht_cap.mcs.tx_params 0-255[u]
USER_DATA 0 phy->sband_2g.sband.n_bitrates s32min-s32max[u]
USER_DATA 0 phy->sband_2g.sband.n_channels s32min-s32max[u]
USER_DATA 0 phy->sband_2g.sband.n_iftype_data 0-u16max[u]
USER_DATA 0 phy->sband_2g.sband.s1g_cap.s1g 0-1[u]
USER_DATA 0 phy->sband_2g.sband.vht_cap.cap 0-u32max[u]
USER_DATA 0 phy->sband_2g.sband.vht_cap.vht_mcs.rx_highest 0-u16max[u]
USER_DATA 0 phy->sband_2g.sband.vht_cap.vht_mcs.rx_mcs_map 0-u16max[u]
USER_DATA 0 phy->sband_2g.sband.vht_cap.vht_mcs.tx_highest 0-u16max[u]
USER_DATA 0 phy->sband_2g.sband.vht_cap.vht_mcs.tx_mcs_map 0-u16max[u]
USER_DATA 0 phy->sband_2g.sband.vht_cap.vht_supported 0-1[u]
USER_DATA 0 phy->sband_5g.sband.band 0-u32max[u]
USER_DATA 0 phy->sband_5g.sband.edmg_cap.bw_config 0-u32max[u]
USER_DATA 0 phy->sband_5g.sband.edmg_cap.channels 0-255[u]
USER_DATA 0 phy->sband_5g.sband.ht_cap.ampdu_density 0-255[u]
USER_DATA 0 phy->sband_5g.sband.ht_cap.ampdu_factor 0-255[u]
USER_DATA 0 phy->sband_5g.sband.ht_cap.cap 0-u16max[u]
USER_DATA 0 phy->sband_5g.sband.ht_cap.ht_supported 0-1[u]
USER_DATA 0 phy->sband_5g.sband.ht_cap.mcs.rx_highest 0-u16max[u]
USER_DATA 0 phy->sband_5g.sband.ht_cap.mcs.tx_params 0-255[u]
USER_DATA 0 phy->sband_5g.sband.n_bitrates s32min-s32max[u]
USER_DATA 0 phy->sband_5g.sband.n_channels s32min-s32max[u]
USER_DATA 0 phy->sband_5g.sband.n_iftype_data 0-u16max[u]
USER_DATA 0 phy->sband_5g.sband.s1g_cap.s1g 0-1[u]
USER_DATA 0 phy->sband_5g.sband.vht_cap.cap 0-u32max[u]
USER_DATA 0 phy->sband_5g.sband.vht_cap.vht_mcs.rx_highest 0-u16max[u]
USER_DATA 0 phy->sband_5g.sband.vht_cap.vht_mcs.rx_mcs_map 0-u16max[u]
USER_DATA 0 phy->sband_5g.sband.vht_cap.vht_mcs.tx_highest 0-u16max[u]
USER_DATA 0 phy->sband_5g.sband.vht_cap.vht_mcs.tx_mcs_map 0-u16max[u]
USER_DATA 0 phy->sband_5g.sband.vht_cap.vht_supported 0-1[u]
USER_DATA 0 phy->sband_6g.sband.band 0-u32max[u]
USER_DATA 0 phy->sband_6g.sband.edmg_cap.bw_config 0-u32max[u]
USER_DATA 0 phy->sband_6g.sband.edmg_cap.channels 0-255[u]
USER_DATA 0 phy->sband_6g.sband.ht_cap.ampdu_density 0-255[u]
USER_DATA 0 phy->sband_6g.sband.ht_cap.ampdu_factor 0-255[u]
USER_DATA 0 phy->sband_6g.sband.ht_cap.cap 0-u16max[u]
USER_DATA 0 phy->sband_6g.sband.ht_cap.ht_supported 0-1[u]
USER_DATA 0 phy->sband_6g.sband.ht_cap.mcs.rx_highest 0-u16max[u]
USER_DATA 0 phy->sband_6g.sband.ht_cap.mcs.tx_params 0-255[u]
USER_DATA 0 phy->sband_6g.sband.n_bitrates s32min-s32max[u]
USER_DATA 0 phy->sband_6g.sband.n_channels s32min-s32max[u]
USER_DATA 0 phy->sband_6g.sband.n_iftype_data 0-u16max[u]
USER_DATA 0 phy->sband_6g.sband.s1g_cap.s1g 0-1[u]
USER_DATA 0 phy->sband_6g.sband.vht_cap.cap 0-u32max[u]
USER_DATA 0 phy->sband_6g.sband.vht_cap.vht_mcs.rx_highest 0-u16max[u]
USER_DATA 0 phy->sband_6g.sband.vht_cap.vht_mcs.rx_mcs_map 0-u16max[u]
USER_DATA 0 phy->sband_6g.sband.vht_cap.vht_mcs.tx_highest 0-u16max[u]
USER_DATA 0 phy->sband_6g.sband.vht_cap.vht_mcs.tx_mcs_map 0-u16max[u]
USER_DATA 0 phy->sband_6g.sband.vht_cap.vht_supported 0-1[u]
USER_DATA 0 phy->state 0-u64max[u]
USER_DATA 0 phy->survey_time s64min-s64max[u]
USER_DATA 0 phy->test.freq_offset 0-u32max[u]
USER_DATA 0 phy->test.state 0-u32max[u]
USER_DATA 0 phy->test.tx_antenna_mask 0-255[u]
USER_DATA 0 phy->test.tx_count 0-u32max[u]
USER_DATA 0 phy->test.tx_done 0-u32max[u]
USER_DATA 0 phy->test.tx_duty_cycle 0-255[u]
USER_DATA 0 phy->test.tx_ipg 0-u32max[u]
USER_DATA 0 phy->test.tx_ltf 0-255[u]
USER_DATA 0 phy->test.tx_mpdu_len 0-u16max[u]
USER_DATA 0 phy->test.tx_pending 0-u32max[u]
USER_DATA 0 phy->test.tx_power_control 0-255[u]
USER_DATA 0 phy->test.tx_queued 0-u32max[u]
USER_DATA 0 phy->test.tx_queued_limit 0-u16max[u]
USER_DATA 0 phy->test.tx_rate_idx 0-255[u]
USER_DATA 0 phy->test.tx_rate_ldpc 0-255[u]
USER_DATA 0 phy->test.tx_rate_mode 0-255[u]
USER_DATA 0 phy->test.tx_rate_nss 0-255[u]
USER_DATA 0 phy->test.tx_rate_sgi 0-255[u]
USER_DATA 0 phy->test.tx_rate_stbc 0-255[u]
USER_DATA 0 phy->test.tx_spe_idx 0-255[u]
USER_DATA 0 phy->test.tx_time 0-u32max[u]
USER_DATA 0 phy->txpower_cur s32min-s32max[u]
UNITS 0 phy unit_byte
USER_PTR 0 phy
HALF_LOCKED2 &dev->mt76.mutex
HALF_LOCKED2 &local->iflist_mtx
HALF_LOCKED2 &mvm->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/mediatek/mt76/mt7925/main.c mt7925_start_sched_scan() -> mt7925_mcu_sched_scan_req()

Type Parameter Key Value
PARAM_VALUE 0 phy 4096-ptr_max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 2 sreq 4096-ptr_max
PARAM_VALUE 2 sreq->callback_head.func 0
PARAM_VALUE 2 sreq->callback_head.next 0
PARAM_VALUE 2 sreq->dev 0
PARAM_VALUE 2 sreq->ie_len 0-u16max
PARAM_VALUE 2 sreq->list.next 0
PARAM_VALUE 2 sreq->list.prev 0
PARAM_VALUE 2 sreq->n_channels 1-s32max
PARAM_VALUE 2 sreq->n_match_sets 0-s32max
PARAM_VALUE 2 sreq->n_scan_plans 1-s32max
PARAM_VALUE 2 sreq->n_ssids 0-255
PARAM_VALUE 2 sreq->nl_owner_dead 0
PARAM_VALUE 2 sreq->owner_nlportid 0
PARAM_VALUE 2 sreq->report_results 0
PARAM_VALUE 2 sreq->rssi_adjust.band 0-5
PARAM_VALUE 2 sreq->wiphy 0
PARAM_VALUE 2 *sreq->mac_addr 0-255
PARAM_VALUE 2 *sreq->mac_addr_mask 0-255
PARAM_VALUE 3 ies 8350094576309555200
PARAM_VALUE 3 ies->common_ie_len 0-9223372036854771712,9223372036854779904-u64max
CAPPED_DATA 2 sreq->ie_len 1
CAPPED_DATA 2 sreq->min_rssi_thold 1
CAPPED_DATA 2 sreq->n_match_sets 1
CAPPED_DATA 2 sreq->n_scan_plans 1
CAPPED_DATA 2 sreq->n_ssids 1
DATA_SOURCE 1 vif $1
DATA_SOURCE 2 sreq $2
DATA_SOURCE 3 ies $3
MEM_ZERO 3 ies
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 sreq->rssi_adjust.band 0-5
USER_DATA 2 sreq->rssi_adjust.delta (-128)-127
NO_OVERFLOW_SIMPLE 2 sreq->ie_len
NO_OVERFLOW_SIMPLE 2 sreq->n_channels
NO_OVERFLOW_SIMPLE 2 sreq->n_match_sets
NO_OVERFLOW_SIMPLE 2 sreq->n_scan_plans
NO_OVERFLOW_SIMPLE 2 sreq->n_ssids
LOCK2 &dev->mt76.mutex
HALF_LOCKED2 &dev->ethtool->rss_lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mt76_dev)->mutex