Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/net/wireless/mediatek/mt76/mt7615/pci_mac.c mt7615_update_vif_beacon() -> mt7615_hw_dev()

Type Parameter Key Value
BUF_SIZE 0 hw s32min-(-1),1-s32max
BUF_SIZE 0 hw s32min-(-1),1-s32max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 hw->chanctx_data_size s32min-s32max[u]
USER_DATA 0 hw->conf.chandef.center_freq1 0-u32max[u]
USER_DATA 0 hw->conf.chandef.center_freq2 0-u32max[u]
USER_DATA 0 hw->conf.chandef.edmg.bw_config 0-u32max[u]
USER_DATA 0 hw->conf.chandef.edmg.channels 0-255[u]
USER_DATA 0 hw->conf.chandef.freq1_offset 0-u16max[u]
USER_DATA 0 hw->conf.chandef.npca_punctured 0-u16max[u]
USER_DATA 0 hw->conf.chandef.punctured 0-u16max[u]
USER_DATA 0 hw->conf.chandef.s1g_primary_2mhz 0-1[u]
USER_DATA 0 hw->conf.chandef.width 0-u32max[u]
USER_DATA 0 hw->conf.dynamic_ps_timeout s32min-s32max[u]
USER_DATA 0 hw->conf.flags 0-u32max[u]
USER_DATA 0 hw->conf.listen_interval 0-u16max[u]
USER_DATA 0 hw->conf.long_frame_max_tx_count 0-255[u]
USER_DATA 0 hw->conf.power_level s32min-s32max[u]
USER_DATA 0 hw->conf.ps_dtim_period 0-255[u]
USER_DATA 0 hw->conf.radar_enabled 0-1[u]
USER_DATA 0 hw->conf.short_frame_max_tx_count 0-255[u]
USER_DATA 0 hw->conf.smps_mode 0-u32max[u]
USER_DATA 0 hw->extra_beacon_tailroom 0-u32max[u]
USER_DATA 0 hw->extra_tx_headroom 0-u32max[u]
USER_DATA 0 hw->max_listen_interval 0-u16max[u]
USER_DATA 0 hw->max_mtu 0-u32max[u]
USER_DATA 0 hw->max_nan_de_entries 0-255[u]
USER_DATA 0 hw->max_rate_tries 0-255[u]
USER_DATA 0 hw->max_rates 0-255[u]
USER_DATA 0 hw->max_report_rates 0-255[u]
USER_DATA 0 hw->max_rx_aggregation_subframes 0-u16max[u]
USER_DATA 0 hw->max_signal (-128)-127[u]
USER_DATA 0 hw->max_tx_aggregation_subframes 0-u16max[u]
USER_DATA 0 hw->max_tx_fragments 0-255[u]
USER_DATA 0 hw->max_txpwr_levels_idx 0-255[u]
USER_DATA 0 hw->netdev_features 0-u64max[u]
USER_DATA 0 hw->offchannel_tx_hw_queue 0-255[u]
USER_DATA 0 hw->queues 0-u16max[u]
USER_DATA 0 hw->radiotap_mcs_details 0-255[u]
USER_DATA 0 hw->radiotap_timestamp.accuracy s16min-s16max[u]
USER_DATA 0 hw->radiotap_timestamp.units_pos s32min-s32max[u]
USER_DATA 0 hw->radiotap_vht_details 0-u16max[u]
USER_DATA 0 hw->sta_data_size s32min-s32max[u]
USER_DATA 0 hw->tx_sk_pacing_shift 0-255[u]
USER_DATA 0 hw->txq_data_size s32min-s32max[u]
USER_DATA 0 hw->uapsd_max_sp_len 0-255[u]
USER_DATA 0 hw->uapsd_queues 0-255[u]
USER_DATA 0 hw->vif_data_size s32min-s32max[u]
USER_DATA 0 hw->weight_multiplier 0-255[u]
UNITS 0 hw unit_byte
USER_PTR 0 hw
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/mt7615/main.c mt7615_add_interface() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &local->hw.wiphy->mtx
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_ampdu_action() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_bss_info_changed() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_cancel_hw_scan() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &local->hw.wiphy->mtx
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_channel_switch_beacon() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_conf_tx() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_config() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_configure_filter() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_get_tsf() -> mt7615_hw_dev()

Type Parameter Key Value
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_hw_scan() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_offset_tsf() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rdev->wiphy.mtx

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_remove_interface() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &local->hw.wiphy->mtx
HALF_LOCKED2 &local->iflist_mtx
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_resume() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->priv 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &local->hw.wiphy->mtx
HALF_LOCKED2 &rdev->wiphy.mtx
TYPE_LOCK (struct wiphy)->mtx

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_set_antenna() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rdev->wiphy.mtx
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 &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct wiphy)->mtx

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_set_key() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_set_rekey_data() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
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

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_set_rts_threshold() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct wiphy)->mtx

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_set_tsf() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rdev->wiphy.mtx

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_set_wakeup() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_sta_rate_tbl_update() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sta->rate_ctrl_lock
HALF_LOCKED2 bh

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_sta_set_decap_offload() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_start() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_start_sched_scan() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
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

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_stop() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_stop_sched_scan() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_suspend() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->priv 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &local->hw.wiphy->mtx
HALF_LOCKED2 &rdev->wiphy.mtx
TYPE_LOCK (struct wiphy)->mtx

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_tx() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_update_mu_group() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->priv 4096-ptr_max
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7615/init.c mt7615_regd_notifier() -> mt7615_hw_dev()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
BUF_SIZE 0 hw 208
DATA_SOURCE 0 hw r wiphy_to_ieee80211_hw
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &wiphy->mtx
HALF_LOCKED2 global &rtnl_mutex