Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/usb/host/xhci-mem.c xhci_alloc_interrupter() -> xhci_ring_alloc()

Type Parameter Key Value
PARAM_VALUE 0 xhci 4096-ptr_max
PARAM_VALUE 0 xhci->interrupters 1-u64max
PARAM_VALUE 1 num_segs 0-2
PARAM_VALUE 2 type 6
PARAM_VALUE 3 max_packet 0
PARAM_VALUE 4 flags 3264
BUF_SIZE 0 xhci->cmd_ring (-1),96
BUF_SIZE 0 xhci->dcbaa.ctx_array (-1),8-2048
BUF_SIZE 0 xhci->device_pool (-1),192
BUF_SIZE 0 xhci->devs (-1),8
BUF_SIZE 0 xhci->interrupters (-1),8
BUF_SIZE 0 xhci->medium_streams_pool (-1),192
BUF_SIZE 0 xhci->port_bw_pool (-1),192
BUF_SIZE 0 xhci->segment_pool (-1),192
BUF_SIZE 0 xhci->small_streams_pool (-1),192
CAPPED_DATA 0 xhci->max_interrupters 1
CAPPED_DATA 1 num_segs 1
DATA_SOURCE 0 xhci $0
DATA_SOURCE 1 num_segs $1 [m]
DATA_SOURCE 4 flags $2
HOST_DATA 0 xhci->allow_single_roothub 0-1
HOST_DATA 0 xhci->broken_suspend 0-1
HOST_DATA 0 xhci->cmd_ring_reserved_trbs 0-u32max
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.magic 3735899821
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.owner_cpu u32max
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.raw_lock.locked 0-255
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.raw_lock.locked_pending 0-u16max
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.raw_lock.pending 0-255
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.raw_lock.tail 0-u16max
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.raw_lock.val.counter s32min-s32max
HOST_DATA 0 xhci->cmd_timer.cpu s32min-s32max
HOST_DATA 0 xhci->cmd_timer.timer.expires 0-u64max
HOST_DATA 0 xhci->cmd_timer.timer.flags 0-u32max
HOST_DATA 0 xhci->cmd_timer.work.data.counter s64min-s64max
HOST_DATA 0 xhci->comp_mode_recovery_timer.expires 0-u64max
HOST_DATA 0 xhci->comp_mode_recovery_timer.flags 0-u32max
HOST_DATA 0 xhci->dcbaa.dma 0-u64max
HOST_DATA 0 xhci->hcc_params 0-u32max
HOST_DATA 0 xhci->hcc_params2 0-u32max
HOST_DATA 0 xhci->hci_version 0-148,150-u16max
HOST_DATA 0 xhci->hcs_params2 0-u32max
HOST_DATA 0 xhci->hcs_params3 0-u32max
HOST_DATA 0 xhci->hw_lpm_support 0-1
HOST_DATA 0 xhci->imod_interval 0-u32max
HOST_DATA 0 xhci->limit_active_eps 0-u32max
HOST_DATA 0 xhci->max_interrupters 0-2047[c]
HOST_DATA 0 xhci->max_ports 0-126[c]
HOST_DATA 0 xhci->max_slots 0-254[c]
HOST_DATA 0 xhci->num_active_eps 0-u32max
HOST_DATA 0 xhci->num_port_caps 0-u32max
HOST_DATA 0 xhci->nvecs s32min-s32max
HOST_DATA 0 xhci->page_size 0,4096-268431360[c]
HOST_DATA 0 xhci->port_status_u0 0-u32max
HOST_DATA 0 xhci->quirks 0-u64max
HOST_DATA 0 xhci->run_graceperiod 0-u64max
HOST_DATA 0 xhci->s3.command 0-u32max
HOST_DATA 0 xhci->s3.config_reg 0-u32max
HOST_DATA 0 xhci->s3.dcbaa_ptr 0-u64max
HOST_DATA 0 xhci->s3.dev_nt 0-u32max
HOST_DATA 0 xhci->test_mode 0-u16max
HOST_DATA 0 xhci->usb2_rhub.bus_state.bus_suspended 0-u64max
HOST_DATA 0 xhci->usb2_rhub.bus_state.next_statechange 0-u64max
HOST_DATA 0 xhci->usb2_rhub.bus_state.port_c_suspend 0-u32max
HOST_DATA 0 xhci->usb2_rhub.bus_state.port_remote_wakeup 0-u32max
HOST_DATA 0 xhci->usb2_rhub.bus_state.resuming_ports 0-u64max
HOST_DATA 0 xhci->usb2_rhub.bus_state.suspended_ports 0-u32max
HOST_DATA 0 xhci->usb2_rhub.maj_rev 0-255
HOST_DATA 0 xhci->usb2_rhub.min_rev 0-255
HOST_DATA 0 xhci->usb2_rhub.num_ports 0-u32max
HOST_DATA 0 xhci->usb3_rhub.bus_state.bus_suspended 0-u64max
HOST_DATA 0 xhci->usb3_rhub.bus_state.next_statechange 0-u64max
HOST_DATA 0 xhci->usb3_rhub.bus_state.port_c_suspend 0-u32max
HOST_DATA 0 xhci->usb3_rhub.bus_state.port_remote_wakeup 0-u32max
HOST_DATA 0 xhci->usb3_rhub.bus_state.resuming_ports 0-u64max
HOST_DATA 0 xhci->usb3_rhub.bus_state.suspended_ports 0-u32max
HOST_DATA 0 xhci->usb3_rhub.maj_rev 0-255
HOST_DATA 0 xhci->usb3_rhub.min_rev 0-255
HOST_DATA 0 xhci->usb3_rhub.num_ports 0-u32max
HOST_DATA 0 xhci->xhc_state 0-u32max
NO_OVERFLOW_SIMPLE 0 xhci->max_interrupters
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &qdev_mutex

drivers/usb/host/xhci-mem.c xhci_alloc_stream_info() -> xhci_ring_alloc()

Type Parameter Key Value
PARAM_VALUE 0 xhci 4096-ptr_max
PARAM_VALUE 0 xhci->device_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 xhci->device_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 xhci->device_pool->dev->cma_area->alloc_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 xhci->device_pool->dev->cma_area->nranges s32min-s32max
PARAM_VALUE 0 xhci->device_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 xhci->device_pool->dev->iommu_group->default_domain 0-s64max
PARAM_VALUE 0 xhci->device_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 xhci->device_pool->size 0-s32max
PARAM_VALUE 0 xhci->devs 4096-ptr_max
PARAM_VALUE 0 xhci->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 num_segs 2
PARAM_VALUE 2 type 4
PARAM_VALUE 3 max_packet 0-2047
PARAM_VALUE 4 flags 3072,3264
CAPPED_DATA 0 xhci->device_pool->size 1
DATA_SOURCE 0 xhci $0
DATA_SOURCE 3 max_packet $3
DATA_SOURCE 4 flags $4
BIT_INFO 0 xhci->quirks 0x0,0xfffffffffff7ffff
HARD_MAX 4 flags 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->dev.mutex

drivers/usb/host/xhci-mem.c xhci_alloc_virt_device() -> xhci_ring_alloc()

Type Parameter Key Value
PARAM_VALUE 0 xhci 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_list.prev 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_list.prev->next 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_ring->enq_seg 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_ring->enq_seg->trbs 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_ring->last_seg 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_ring->trb_address_map->xa_flags 0,67108864-u32max
PARAM_VALUE 0 xhci->cmd_timer->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_timer.work.entry.next->next 1-u64max
PARAM_VALUE 0 xhci->cmd_timer.work.entry.prev->next 1-u64max
PARAM_VALUE 0 xhci->cmd_timer.work.entry.prev->prev 1-u64max
PARAM_VALUE 0 xhci->current_cmd 4096-ptr_max
PARAM_VALUE 0 xhci->device_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 xhci->device_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 xhci->device_pool->dev->cma_area->alloc_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 xhci->device_pool->dev->cma_area->nranges s32min-s32max
PARAM_VALUE 0 xhci->device_pool->dev->dma_mem->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 xhci->device_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 xhci->device_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 xhci->device_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 xhci->device_pool->size 0-s32max
PARAM_VALUE 0 xhci->devs 4096-ptr_max
PARAM_VALUE 0 xhci->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 xhci->segment_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 xhci->segment_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 xhci->segment_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 xhci->segment_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 xhci->segment_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 xhci->segment_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 1 num_segs 2
PARAM_VALUE 2 type 0
PARAM_VALUE 3 max_packet 0
PARAM_VALUE 4 flags 3072
CAPPED_DATA 0 xhci->cmd_ring 1
CAPPED_DATA 0 xhci->device_pool->size 1
DATA_SOURCE 0 xhci $0
DATA_SOURCE 4 flags $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &udev->dev.mutex

drivers/usb/host/xhci-mem.c xhci_endpoint_init() -> xhci_ring_alloc()

Type Parameter Key Value
PARAM_VALUE 0 xhci 4096-ptr_max
PARAM_VALUE 0 xhci->devs 4096-ptr_max
PARAM_VALUE 1 num_segs 2
PARAM_VALUE 2 type 0-3
PARAM_VALUE 3 max_packet 0-u16max
PARAM_VALUE 4 flags 3072
DATA_SOURCE 0 xhci $0
DATA_SOURCE 2 type r usb_endpoint_type
DATA_SOURCE 4 flags $4
BIT_INFO 0 xhci->xhc_state 0x0,0xfffffffe
RX_PATH
TASK_NOT_RUNNING
LOCK2 hcd->bandwidth_mutex
HALF_LOCKED2 &udev->dev.mutex

drivers/usb/host/xhci-mem.c xhci_mem_init() -> xhci_ring_alloc()

Type Parameter Key Value
PARAM_VALUE 0 xhci 4096-ptr_max
PARAM_VALUE 0 xhci->cap_regs 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_list.next 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_list.next->next 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_list.prev 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_list.prev->next 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_ring_state 4
PARAM_VALUE 0 xhci->cmd_ring_stop_completion.done 0
PARAM_VALUE 0 xhci->cmd_ring_stop_completion.wait.lock.magic 3735899821
PARAM_VALUE 0 xhci->cmd_ring_stop_completion.wait.lock.owner (-1)
PARAM_VALUE 0 xhci->cmd_ring_stop_completion.wait.lock.owner_cpu u32max
PARAM_VALUE 0 xhci->cmd_ring_stop_completion.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_ring_stop_completion.wait.task_list.next->next 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_ring_stop_completion.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_ring_stop_completion.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 xhci->cmd_ring_stop_completion.wait.task_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 xhci->dcbaa.ctx_array 1-u64max
PARAM_VALUE 0 xhci->device_pool 4096-ptr_max
PARAM_VALUE 0 xhci->devs 1-u64max
PARAM_VALUE 0 xhci->dma_mask_bits 36,64
PARAM_VALUE 0 xhci->main_hcd 4096-ptr_max
PARAM_VALUE 0 xhci->main_hcd->primary_hcd 0,4096-ptr_max
PARAM_VALUE 0 xhci->main_hcd->self.no_sg_constraint 1
PARAM_VALUE 0 xhci->main_hcd->self.no_stop_on_short 1
PARAM_VALUE 0 xhci->main_hcd->self.sg_tablesize u32max
PARAM_VALUE 0 xhci->main_hcd->self.sysdev 4096-ptr_max
PARAM_VALUE 0 xhci->max_interrupters 0-2047
PARAM_VALUE 0 xhci->max_ports 0-127
PARAM_VALUE 0 xhci->medium_streams_pool 4096-ptr_max
PARAM_VALUE 0 xhci->mutex.dep_map->name 0-255
PARAM_VALUE 0 xhci->mutex.first_waiter 0
PARAM_VALUE 0 xhci->mutex.magic 4096-ptr_max
PARAM_VALUE 0 xhci->mutex.osq.tail.counter 0
PARAM_VALUE 0 xhci->mutex.owner.counter 0
PARAM_VALUE 0 xhci->op_regs 4096-ptr_max
PARAM_VALUE 0 xhci->page_size 0,4096-268431360
PARAM_VALUE 0 xhci->port_bw_pool 4096-ptr_max
PARAM_VALUE 0 xhci->segment_pool 4096-ptr_max
PARAM_VALUE 0 xhci->small_streams_pool 4096-ptr_max
PARAM_VALUE 1 num_segs 1
PARAM_VALUE 2 type 5
PARAM_VALUE 3 max_packet 0
PARAM_VALUE 4 flags 3264
BUF_SIZE 0 xhci->dcbaa.ctx_array 8-2048
BUF_SIZE 0 xhci->device_pool 192
BUF_SIZE 0 xhci->devs 8
BUF_SIZE 0 xhci->medium_streams_pool 192
BUF_SIZE 0 xhci->port_bw_pool 192
BUF_SIZE 0 xhci->segment_pool 192
BUF_SIZE 0 xhci->small_streams_pool 192
CAPPED_DATA 0 xhci->device_pool->allocation 1
CAPPED_DATA 0 xhci->device_pool->boundary 1
CAPPED_DATA 0 xhci->device_pool->size 1
CAPPED_DATA 0 xhci->max_interrupters 1
CAPPED_DATA 0 xhci->max_ports 1
CAPPED_DATA 0 xhci->max_slots 1
CAPPED_DATA 0 xhci->medium_streams_pool->allocation 1
CAPPED_DATA 0 xhci->medium_streams_pool->boundary 1
CAPPED_DATA 0 xhci->medium_streams_pool->size 1
CAPPED_DATA 0 xhci->page_size 1
CAPPED_DATA 0 xhci->port_bw_pool->allocation 1
CAPPED_DATA 0 xhci->port_bw_pool->boundary 1
CAPPED_DATA 0 xhci->port_bw_pool->size 1
CAPPED_DATA 0 xhci->segment_pool->allocation 1
CAPPED_DATA 0 xhci->segment_pool->boundary 1
CAPPED_DATA 0 xhci->segment_pool->size 1
CAPPED_DATA 0 xhci->small_streams_pool->allocation 1
CAPPED_DATA 0 xhci->small_streams_pool->boundary 1
CAPPED_DATA 0 xhci->small_streams_pool->size 1
DATA_SOURCE 0 xhci $0
DATA_SOURCE 4 flags $1
FUZZY_MAX 0 xhci->dma_mask_bits 64
MEM_ZERO 0 xhci->dcbaa.ctx_array
HOST_DATA 0 xhci->allow_single_roothub 0-1
HOST_DATA 0 xhci->broken_suspend 0-1
HOST_DATA 0 xhci->cmd_ring_reserved_trbs 0-u32max
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.magic 3735899821
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.owner_cpu u32max
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.raw_lock.locked 0-255
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.raw_lock.locked_pending 0-u16max
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.raw_lock.pending 0-255
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.raw_lock.tail 0-u16max
HOST_DATA 0 xhci->cmd_ring_stop_completion.wait.lock.raw_lock.val.counter s32min-s32max
HOST_DATA 0 xhci->cmd_timer.cpu s32min-s32max
HOST_DATA 0 xhci->cmd_timer.timer.expires 0-u64max
HOST_DATA 0 xhci->cmd_timer.timer.flags 0-u32max
HOST_DATA 0 xhci->cmd_timer.work.data.counter s64min-s64max
HOST_DATA 0 xhci->comp_mode_recovery_timer.expires 0-u64max
HOST_DATA 0 xhci->comp_mode_recovery_timer.flags 0-u32max
HOST_DATA 0 xhci->dcbaa.dma 0-u64max
HOST_DATA 0 xhci->device_pool->allocation 0-4294967295[c]
HOST_DATA 0 xhci->device_pool->boundary 0-4294967295[c]
HOST_DATA 0 xhci->device_pool->size 0-4294967295[c]
HOST_DATA 0 xhci->hcc_params 0-u32max
HOST_DATA 0 xhci->hcc_params2 0-u32max
HOST_DATA 0 xhci->hci_version 0-148,150-u16max
HOST_DATA 0 xhci->hcs_params2 0-u32max
HOST_DATA 0 xhci->hcs_params3 0-u32max
HOST_DATA 0 xhci->hw_lpm_support 0-1
HOST_DATA 0 xhci->imod_interval 0-u32max
HOST_DATA 0 xhci->limit_active_eps 0-u32max
HOST_DATA 0 xhci->max_interrupters 0-2047[c]
HOST_DATA 0 xhci->max_ports 0-126[c]
HOST_DATA 0 xhci->max_slots 0-254[c]
HOST_DATA 0 xhci->num_active_eps 0-u32max
HOST_DATA 0 xhci->num_port_caps 0-u32max
HOST_DATA 0 xhci->nvecs s32min-s32max
HOST_DATA 0 xhci->page_size 0,4096-268431360[c]
HOST_DATA 0 xhci->port_status_u0 0-u32max
HOST_DATA 0 xhci->quirks 0-u64max
HOST_DATA 0 xhci->run_graceperiod 0-u64max
HOST_DATA 0 xhci->s3.command 0-u32max
HOST_DATA 0 xhci->s3.config_reg 0-u32max
HOST_DATA 0 xhci->s3.dcbaa_ptr 0-u64max
HOST_DATA 0 xhci->s3.dev_nt 0-u32max
HOST_DATA 0 xhci->segment_pool->allocation 0-4294967295[c]
HOST_DATA 0 xhci->segment_pool->boundary 0-4294967295[c]
HOST_DATA 0 xhci->segment_pool->size 0-4294967295[c]
HOST_DATA 0 xhci->test_mode 0-u16max
HOST_DATA 0 xhci->usb2_rhub.bus_state.bus_suspended 0-u64max
HOST_DATA 0 xhci->usb2_rhub.bus_state.next_statechange 0-u64max
HOST_DATA 0 xhci->usb2_rhub.bus_state.port_c_suspend 0-u32max
HOST_DATA 0 xhci->usb2_rhub.bus_state.port_remote_wakeup 0-u32max
HOST_DATA 0 xhci->usb2_rhub.bus_state.resuming_ports 0-u64max
HOST_DATA 0 xhci->usb2_rhub.bus_state.suspended_ports 0-u32max
HOST_DATA 0 xhci->usb2_rhub.maj_rev 0-255
HOST_DATA 0 xhci->usb2_rhub.min_rev 0-255
HOST_DATA 0 xhci->usb2_rhub.num_ports 0-u32max
HOST_DATA 0 xhci->usb3_rhub.bus_state.bus_suspended 0-u64max
HOST_DATA 0 xhci->usb3_rhub.bus_state.next_statechange 0-u64max
HOST_DATA 0 xhci->usb3_rhub.bus_state.port_c_suspend 0-u32max
HOST_DATA 0 xhci->usb3_rhub.bus_state.port_remote_wakeup 0-u32max
HOST_DATA 0 xhci->usb3_rhub.bus_state.resuming_ports 0-u64max
HOST_DATA 0 xhci->usb3_rhub.bus_state.suspended_ports 0-u32max
HOST_DATA 0 xhci->usb3_rhub.maj_rev 0-255
HOST_DATA 0 xhci->usb3_rhub.min_rev 0-255
HOST_DATA 0 xhci->usb3_rhub.num_ports 0-u32max
HOST_DATA 0 xhci->xhc_state 0-u32max