Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/pci/endpoint/pci-epc-core.c pci_epc_clear_bar() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &epc->list_lock
HALF_LOCKED2 &epf->lock
TYPE_LOCK (struct pci_epf)->lock

drivers/pci/endpoint/pci-epc-core.c pci_epc_get_aux_resources() -> pci_epc_function_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 epc 4096-ptr_max
PARAM_VALUE 0 epc->max_functions 1-255
PARAM_VALUE 0 epc->max_vfs 0,4096-ptr_max
PARAM_VALUE 1 func_no 0-254
CAPPED_DATA 0 epc->max_functions 1
CAPPED_DATA 1 func_no 1
CAPPED_DATA 2 vfunc_no 1
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
CONSTRAINT 1 func_no <2180
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &pool->lock

drivers/pci/endpoint/pci-epc-core.c pci_epc_get_aux_resources_count() -> pci_epc_function_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 epc 4096-ptr_max
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &pool->lock

drivers/pci/endpoint/pci-epc-core.c pci_epc_get_features() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &epf->lock

drivers/pci/endpoint/pci-epc-core.c pci_epc_get_msi() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit

drivers/pci/endpoint/pci-epc-core.c pci_epc_get_msix() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit

drivers/pci/endpoint/pci-epc-core.c pci_epc_map_addr() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit

drivers/pci/endpoint/pci-epc-core.c pci_epc_map_msi_irq() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit
HALF_LOCKED2 &pool->lock

drivers/pci/endpoint/pci-epc-core.c pci_epc_mem_map() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit
HALF_LOCKED2 &pool->lock

drivers/pci/endpoint/pci-epc-core.c pci_epc_mem_unmap() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit
HALF_LOCKED2 &pool->lock

drivers/pci/endpoint/pci-epc-core.c pci_epc_raise_irq() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit
HALF_LOCKED2 &ctrl->irq_lock

drivers/pci/endpoint/pci-epc-core.c pci_epc_set_msi() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &epf->lock
TYPE_LOCK (struct pci_epf)->lock

drivers/pci/endpoint/pci-epc-core.c pci_epc_set_msix() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &epf->lock
TYPE_LOCK (struct pci_epf)->lock

drivers/pci/endpoint/pci-epc-core.c pci_epc_unmap_addr() -> pci_epc_function_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit

drivers/pci/endpoint/pci-epc-core.c pci_epc_write_header() -> pci_epc_function_is_valid()

Type Parameter Key Value
CAPPED_DATA 2 vfunc_no 1
DATA_SOURCE 0 epc $0
DATA_SOURCE 1 func_no $1
DATA_SOURCE 2 vfunc_no $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 func_no unit_bit
UNITS 2 vfunc_no unit_bit
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &epf->lock
TYPE_LOCK (struct pci_epf)->lock