Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 23 files:

Smatch caller information:

drivers/net/phy/mediatek/mtk-2p5ge.c mt798x_2p5ge_phy_load_fw() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 1978178743084580864
PARAM_VALUE 1 name 5865192982848692224
PARAM_VALUE 2 device 4096-ptr_max
BUF_SIZE 1 name 35
BUF_SIZE 2 device 1616
STR_LEN 0 firmware_p 34
TERMINATED 1 name 1
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c npc_load_kpu_profile_from_fs() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 728065243652218880
PARAM_VALUE 0 *firmware_p 0
PARAM_VALUE 1 name 7911401284136558592
PARAM_VALUE 1 *name 0
BUF_SIZE 1 name 512
BUF_SIZE 2 device (-1),1616
BUF_SIZE 2 device (-1),1616
STR_LEN 0 firmware_p 4
TERMINATED 1 name 1
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/cpu/microcode/amd.c request_microcode_amd() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 14992193316823040
PARAM_VALUE 1 name 4237953264264056832
PARAM_VALUE 2 device 0,4096-ptr_max
BUF_SIZE 1 name 36
DATA_SOURCE 2 device $1
STR_LEN 0 firmware_p 27,35
STR_LEN 1 name 27,35
TERMINATED 1 name 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/net/ethernet/mellanox/mlxsw/core_linecards.c mlxsw_linecard_types_init() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 1113995361238429696
PARAM_VALUE 1 name 6838227830905057280
BUF_SIZE 1 name 37
STR_LEN 0 firmware_p 36
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &devlink->lock

drivers/platform/x86/intel/ifs/load.c ifs_load_firmware() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 487876862993600512
PARAM_VALUE 1 name 1673913002244571136
PARAM_VALUE 2 device 4096-ptr_max
BUF_SIZE 1 name 64
DATA_SOURCE 2 device $0
STR_LEN 0 firmware_p 63
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 global &ifs_sem
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/net/ethernet/marvell/prestera/prestera_pci.c prestera_fw_get() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 4096-ptr_max
PARAM_VALUE 0 *firmware_p 0,4096-ptr_max
PARAM_VALUE 1 name 6266597868137947136
PARAM_VALUE 2 device 4096-ptr_max
PARAM_VALUE 2 device->bus 0,4096-ptr_max
PARAM_VALUE 2 device->class 0,4096-ptr_max
PARAM_VALUE 2 device->devres_head.prev 4096-ptr_max
PARAM_VALUE 2 device->dma_mask 4096-ptr_max
PARAM_VALUE 2 device->driver 0,4096-ptr_max
BUF_SIZE 1 name 128
BUF_SIZE 2 device 1616
STR_LEN 0 firmware_p 127
MEM_ZERO 0 firmware_p
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_fw_rev_validate() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 9115659025911488512
PARAM_VALUE 1 name 1-u64max
PARAM_VALUE 2 device 0,4096-ptr_max
PARAM_VALUE 2 device->bus 0,4096-ptr_max
PARAM_VALUE 2 device->class 0,4096-ptr_max
PARAM_VALUE 2 device->driver 0,4096-ptr_max
BUF_SIZE 2 device (-1),1616
BUF_SIZE 2 device (-1),1616
DATA_SOURCE 1 name $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &devlink->lock

drivers/gpu/drm/display/drm_hdcp_helper.c drm_hdcp_request_srm() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 5272339619428388864
PARAM_VALUE 1 name 2972155912261828608
BUF_SIZE 1 name 36
STR_LEN 0 firmware_p 20
STR_LEN 1 name 20
TERMINATED 1 name 1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 device unit_byte
LOCK2 &dig_port->hdcp.mutex
LOCK2 &hdcp->mutex
TYPE_LOCK (struct intel_digital_port)->hdcp.mutex
TYPE_LOCK (struct intel_hdcp)->mutex

drivers/gpu/drm/msm/adreno/adreno_gpu.c adreno_request_fw() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 3580259103659610112
PARAM_VALUE 0 *firmware_p 0
PARAM_VALUE 1 name 1-u64max
BUF_SIZE 1 name 0-s32max
BUF_SIZE 1 name 0-s32max
CAPPED_DATA 1 name 1
DATA_SOURCE 1 name r kasprintf
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
UNITS 2 device unit_byte
LOCK2 &init_lock

drivers/gpu/drm/msm/adreno/adreno_gpu.c adreno_request_fw() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 3580259103659610112
PARAM_VALUE 0 *firmware_p 0,4096-ptr_max
PARAM_VALUE 1 name 1-u64max
DATA_SOURCE 1 name $1
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
UNITS 2 device unit_byte
LOCK2 &init_lock

drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c adap_init0_phy() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 8988228267271532544
PARAM_VALUE 2 device 0,4096-ptr_max
PARAM_VALUE 2 device->bus 0,4096-ptr_max
PARAM_VALUE 2 device->class 0,4096-ptr_max
PARAM_VALUE 2 device->driver 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pdev->dev.mutex

drivers/bluetooth/btintel.c btintel_load_ddc_config() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 2234449651862376448
PARAM_VALUE 1 name 1757603896992985088,2593222760178798592,4694079800362651648
PARAM_VALUE 2 device 4096-ptr_max
BUF_SIZE 1 name 64
BUF_SIZE 1 name 64
DATA_SOURCE 1 name $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &hdev->req_lock
TYPE_LOCK (struct hci_dev)->req_lock

drivers/net/wireless/marvell/mwifiex/sta_ioctl.c mwifiex_request_rgpower_table() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 4096-ptr_max
PARAM_VALUE 0 *firmware_p 0
PARAM_VALUE 1 name 5586981942965686272
BUF_SIZE 1 name 30
STR_LEN 0 firmware_p 29
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/netronome/nfp/nfp_main.c nfp_net_fw_request() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 443139903602753536
PARAM_VALUE 0 *firmware_p 0
PARAM_VALUE 1 name 4103488281865179136
PARAM_VALUE 2 device 4096-ptr_max
PARAM_VALUE 2 device->bus 0,4096-ptr_max
PARAM_VALUE 2 device->class 0,4096-ptr_max
PARAM_VALUE 2 device->dma_mask 4096-ptr_max
PARAM_VALUE 2 device->dma_ops 0,4096-ptr_max
PARAM_VALUE 2 device->driver 0,4096-ptr_max
PARAM_VALUE 2 device->driver_data 4096-ptr_max
BUF_SIZE 1 name 256
BUF_SIZE 1 name 256
DATA_SOURCE 1 name $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 &pool->lock

net/ethtool/module.c module_flash_fw_schedule() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 4096-ptr_max
PARAM_VALUE 1 name 4096-ptr_max
PARAM_VALUE 2 device 4096-ptr_max
PARAM_VALUE 2 device->parent 0,4096-ptr_max
DATA_SOURCE 1 name $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 *name 0-255
USER_PTR 1 name
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/ethernet/mellanox/mlx5/core/en_ethtool.c mlx5e_ethtool_flash_device() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 2344369974464548864
PARAM_VALUE 2 device 4096-ptr_max
BUF_SIZE 1 name 128
USER_DATA 1 *name 0-255
USER_PTR 1 name
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/intersil/p54/p54spi.c p54spi_request_eeprom() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 1033894545620754432
PARAM_VALUE 1 name 8921571565635686400
BUF_SIZE 1 name 12
STR_LEN 0 firmware_p 11
TERMINATED 1 name 1
RX_PATH
TASK_NOT_RUNNING

drivers/bluetooth/btnxpuart.c nxp_request_firmware() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 4096-ptr_max
PARAM_VALUE 2 device 4096-ptr_max
PARAM_VALUE 2 device->driver_data 4096-ptr_max
BUF_SIZE 1 name 50
STR_LEN 0 firmware_p 49
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c nxp_request_firmware() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 4096-ptr_max
PARAM_VALUE 0 *firmware_p 0,4096-ptr_max
PARAM_VALUE 2 device 4096-ptr_max
PARAM_VALUE 2 device->driver_data 4096-ptr_max
BUF_SIZE 1 name 50
STR_LEN 0 firmware_p 49
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/net/phy/air_en8811h.c an8811hb_load_file() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 273234454293504000
PARAM_VALUE 1 name 6613190322777026560,9174555870566850560
PARAM_VALUE 2 device 4096-ptr_max
BUF_SIZE 1 name 35-36
BUF_SIZE 1 name 35-36
BUF_SIZE 2 device 1616
DATA_SOURCE 1 name $1
TERMINATED 1 name 1
RX_PATH
TASK_NOT_RUNNING

drivers/net/phy/air_en8811h.c en8811h_load_firmware() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 3897538468198588416
PARAM_VALUE 1 name 5419558297848758272
PARAM_VALUE 2 device 4096-ptr_max
PARAM_VALUE 2 device->devres_head.prev 4096-ptr_max
BUF_SIZE 1 name 22
BUF_SIZE 2 device 1616
STR_LEN 0 firmware_p 21
TERMINATED 1 name 1
RX_PATH
TASK_NOT_RUNNING

drivers/net/phy/air_en8811h.c en8811h_load_firmware() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 5198291947646939136
PARAM_VALUE 1 name 5712187030076956672
PARAM_VALUE 2 device 4096-ptr_max
BUF_SIZE 1 name 23
BUF_SIZE 2 device 1616
STR_LEN 0 firmware_p 22
TERMINATED 1 name 1
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/cpu/microcode/intel.c request_microcode_fw() -> request_firmware_direct()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 8376504348818341888
PARAM_VALUE 1 name 5910270913361788928
PARAM_VALUE 2 device 0,4096-ptr_max
BUF_SIZE 1 name 30
DATA_SOURCE 2 device $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

lib/test_firmware.c test_fw_run_batch_request() -> (struct test_config)->req_firmware()

Type Parameter Key Value
PARAM_VALUE 0 firmware_p 4096-ptr_max