Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/net/wireless/realtek/rtw88/sdio.c rtw_sdio_deep_ps_enter() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 16
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rtwdev->mutex
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/realtek/rtw88/sdio.c rtw_sdio_tx_handler() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 16
HALF_LOCKED2 &pool->lock

drivers/net/wireless/realtek/rtw88/pci.c rtw_pci_deep_ps_enter() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 16
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rtwpci->irq_lock
LOCK2 bh
HALF_LOCKED2 &rtwdev->mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct rtw_pci)->irq_lock

drivers/net/wireless/realtek/rtw88/pci.c rtw_pci_tx_kick_off_queue() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 16
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rtwpci->irq_lock
LOCK2 bh
HALF_LOCKED2 &rtwdev->mutex
TYPE_LOCK (struct rtw_pci)->irq_lock

drivers/net/wireless/realtek/rtw88/phy.c rtw_phy_dynamic_mechanism() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 128
LOCK2 &rtwdev->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct rtw_dev)->mutex

drivers/net/wireless/realtek/rtw88/mac80211.c rtw_ops_add_interface() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 32
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/realtek/rtw88/mac80211.c rtw_ops_cancel_hw_scan() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 256
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &local->hw.wiphy->mtx
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/realtek/rtw88/mac80211.c rtw_ops_hw_scan() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 256
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx

drivers/net/wireless/realtek/rtw88/main.c rtw_core_fw_scan_notify() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 64
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rtwdev->mutex
TYPE_LOCK (struct rtw_dev)->mutex

drivers/net/wireless/realtek/rtw88/main.c rtw_get_max_scan_ie_len() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 256
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/realtek/rtw88/main.c rtw_sw_beacon_loss_check() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 32
LOCK2 &rtwdev->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct rtw_dev)->mutex

drivers/net/wireless/realtek/rtw88/main.c rtw_update_lps_deep_mode() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 0 fw->feature 1-u32max
PARAM_VALUE 1 feature 8
DATA_SOURCE 0 fw $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rtwdev->mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct rtw_dev)->mutex

drivers/net/wireless/realtek/rtw88/main.c rtw_update_lps_deep_mode() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 0 fw->feature 1-u32max
PARAM_VALUE 1 feature 4
DATA_SOURCE 0 fw $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rtwdev->mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct rtw_dev)->mutex

drivers/net/wireless/realtek/rtw88/fw.c rtw_fw_beacon_filter_config() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 32
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rtwdev->mutex
TYPE_LOCK (struct rtw_dev)->mutex

drivers/net/wireless/realtek/rtw88/fw.c rtw_hw_scan_abort() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 256
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rtwdev->mutex
TYPE_LOCK (struct rtw_dev)->mutex

drivers/net/wireless/realtek/rtw88/rx.c rtw_rx_fill_rx_status() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 256
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/realtek/rtw88/ps.c rtw_fw_leave_lps_check() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 2
BUF_SIZE 0 fw 160
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rtwdev->mutex
HALF_LOCKED2 &rtwdev->mutex
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/realtek/rtw88/ps.c rtw_fw_leave_lps_check_prepare() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 2
BUF_SIZE 0 fw 160
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rtwdev->mutex
HALF_LOCKED2 &rtwdev->mutex
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/realtek/rtw88/ps.c rtw_power_mode_change() -> rtw_fw_feature_check()

Type Parameter Key Value
PARAM_VALUE 0 fw 4096-ptr_max
PARAM_VALUE 1 feature 16
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rtwdev->mutex
HALF_LOCKED2 &rtwpci->irq_lock
HALF_LOCKED2 bh