Defined in 1 files as a prototype:
Defined in 2 files as a function:
- drivers/base/firmware_loader/main.c, line 993 (as a function)
- include/linux/firmware.h, line 174 (as a function)
Referenced in 23 files:
- arch/x86/kernel/cpu/microcode/amd.c, line 1254
- arch/x86/kernel/cpu/microcode/intel.c, line 945
- drivers/base/firmware_loader/main.c, line 1005
- drivers/bluetooth/btintel.c, line 397
- drivers/bluetooth/btnxpuart.c
- drivers/gpu/drm/display/drm_hdcp_helper.c, line 240
- drivers/gpu/drm/msm/adreno/adreno_gpu.c
- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c, line 4395
- drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c, line 2250
- drivers/net/ethernet/marvell/prestera/prestera_pci.c, line 731
- drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c, line 2151
- drivers/net/ethernet/mellanox/mlxsw/core.c, line 1281
- drivers/net/ethernet/mellanox/mlxsw/core_linecards.c, line 1441
- drivers/net/ethernet/netronome/nfp/nfp_main.c, line 364
- drivers/net/phy/air_en8811h.c
- drivers/net/phy/mediatek/mtk-2p5ge.c, line 66
- drivers/net/wireless/intersil/p54/p54spi.c, line 171
- drivers/net/wireless/marvell/mwifiex/sta_ioctl.c, line 230
- drivers/platform/x86/intel/ifs/load.c, line 407
- drivers/remoteproc/qcom_q6v5_mss.c, line 499
- drivers/soc/ti/knav_qmss_queue.c, line 1563
- lib/test_firmware.c, line 620
- net/ethtool/module.c, line 318
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 |