Defined in 2 files as a prototype:

Defined in 3 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/usb/host/ehci-hcd.c ehci_clear_tt_buffer_complete() -> qh_link_async()

Type Parameter Key Value
PARAM_VALUE 0 fotg210 4096-ptr_max
PARAM_VALUE 0 fotg210->rh_state 2
PARAM_VALUE 1 qh 4096-ptr_max
PARAM_VALUE 1 qh->clearing_tt 0
PARAM_VALUE 1 qh->qh_state 3
BUF_SIZE 1 qh 40,48,56,80,104,128,152,384
BUF_SIZE 1 qh 40,48,56,80,104,128,152,384
CAPPED_DATA 1 &qh->qtd_list 1
PARAM_COMPARE 1 &qh->qtd_list != $1->qtd_list.next
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &fotg210->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ehci_hcd)->lock

drivers/usb/host/ehci-hcd.c end_unlink_async() -> qh_link_async()

Type Parameter Key Value
PARAM_VALUE 0 fotg210 4096-ptr_max
PARAM_VALUE 0 fotg210->async_idle.prev->next 4096-ptr_max
PARAM_VALUE 0 fotg210->async_idle.prev->next->next 4096-ptr_max
PARAM_VALUE 0 fotg210->async_unlink.next 4096-ptr_max
PARAM_VALUE 0 fotg210->async_unlinking 1
PARAM_VALUE 0 fotg210->old_current u32max
PARAM_VALUE 0 fotg210->rh_state 2
PARAM_VALUE 1 qh 4096-ptr_max
PARAM_VALUE 1 qh->qh_next.qh 0
PARAM_VALUE 1 qh->unlink_node.next->prev 4096-ptr_max
PARAM_VALUE 1 qh->unlink_node.prev->next 4096-ptr_max
CAPPED_DATA 0 &fotg210->async_idle 1
CAPPED_DATA 0 &fotg210->async_unlink 1
CAPPED_DATA 1 &qh->qtd_list 1
DATA_SOURCE 0 fotg210 $0
PARAM_COMPARE 0 &fotg210->async_idle != $0->async_idle.next
PARAM_COMPARE 1 &qh->qtd_list != $1->qtd_list.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &fotg210->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct ehci_hcd)->lock

drivers/usb/host/ehci-hcd.c submit_async() -> qh_link_async()

Type Parameter Key Value
PARAM_VALUE 0 fotg210 4096-ptr_max
PARAM_VALUE 0 fotg210->qh_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fotg210->qh_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 fotg210->qh_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 fotg210->qh_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 fotg210->qh_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 fotg210->qh_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fotg210->qtd_pool 4096-ptr_max
PARAM_VALUE 0 fotg210->qtd_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fotg210->qtd_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 fotg210->qtd_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 fotg210->qtd_pool->dev->cma_area->nranges s32min-s32max
PARAM_VALUE 0 fotg210->qtd_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 fotg210->qtd_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 fotg210->qtd_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fotg210->qtd_pool->size 0-s32max
PARAM_VALUE 1 qh 4096-ptr_max
PARAM_VALUE 1 qh->qh_state 3
BUF_SIZE 1 qh (-1),144
BUF_SIZE 1 qh (-1),144
CAPPED_DATA 0 fotg210->qtd_pool->size 1
DATA_SOURCE 0 fotg210 $0
DATA_SOURCE 1 qh r qh_append_tds
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &fotg210->lock
TYPE_LOCK (struct ehci_hcd)->lock

drivers/usb/fotg210/fotg210-hcd.c end_unlink_async() -> qh_link_async()

Type Parameter Key Value
PARAM_VALUE 0 fotg210 4096-ptr_max
PARAM_VALUE 0 fotg210->async_unlinking 1
PARAM_VALUE 0 fotg210->regs 4096-ptr_max
PARAM_VALUE 0 fotg210->rh_state 2
PARAM_VALUE 1 qh 4096-ptr_max
PARAM_VALUE 1 qh->qh_next.qh 0
PARAM_VALUE 1 qh->unlink_next 0
CAPPED_DATA 1 &qh->qtd_list 1
DATA_SOURCE 0 fotg210 $0
PARAM_COMPARE 1 &qh->qtd_list != $1->qtd_list.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &fotg210->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct fotg210_hcd)->lock

drivers/usb/fotg210/fotg210-hcd.c fotg210_clear_tt_buffer_complete() -> qh_link_async()

Type Parameter Key Value
PARAM_VALUE 0 fotg210 4096-ptr_max
PARAM_VALUE 0 fotg210->rh_state 2
PARAM_VALUE 1 qh 4096-ptr_max
PARAM_VALUE 1 qh->clearing_tt 0
PARAM_VALUE 1 qh->qh_state 3
BUF_SIZE 1 qh 40,48,56,80,104,128,152,384
BUF_SIZE 1 qh 40,48,56,80,104,128,152,384
CAPPED_DATA 1 &qh->qtd_list 1
PARAM_COMPARE 1 &qh->qtd_list != $1->qtd_list.next
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &fotg210->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct fotg210_hcd)->lock

drivers/usb/fotg210/fotg210-hcd.c submit_async() -> qh_link_async()

Type Parameter Key Value
PARAM_VALUE 0 fotg210 4096-ptr_max
PARAM_VALUE 0 fotg210->qh_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fotg210->qh_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 fotg210->qh_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 fotg210->qh_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 fotg210->qh_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 fotg210->qh_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fotg210->qtd_pool 4096-ptr_max
PARAM_VALUE 0 fotg210->qtd_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fotg210->qtd_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 fotg210->qtd_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 fotg210->qtd_pool->dev->cma_area->nranges s32min-s32max
PARAM_VALUE 0 fotg210->qtd_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 fotg210->qtd_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 fotg210->qtd_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fotg210->qtd_pool->size 0-s32max
PARAM_VALUE 1 qh 4096-ptr_max
PARAM_VALUE 1 qh->qh_state 3
BUF_SIZE 1 qh (-1),104
BUF_SIZE 1 qh (-1),104
CAPPED_DATA 0 fotg210->qtd_pool->size 1
DATA_SOURCE 0 fotg210 $0
DATA_SOURCE 1 qh r qh_append_tds
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &fotg210->lock
TYPE_LOCK (struct fotg210_hcd)->lock

drivers/usb/host/oxu210hp-hcd.c end_unlink_async() -> qh_link_async()

Type Parameter Key Value
PARAM_VALUE 0 fotg210 4096-ptr_max
PARAM_VALUE 0 fotg210->async->qh_next.qh->dummy->qtd_buffer_len 0,512-2048
PARAM_VALUE 0 fotg210->reclaim->dummy->qtd_buffer_len 0,512-2048
PARAM_VALUE 0 *fotg210->reclaim->oxu->db_used 0-255
PARAM_VALUE 0 *fotg210->reclaim->oxu->qh_used 0-255
PARAM_VALUE 0 *fotg210->reclaim->oxu->qtd_used 0-255
PARAM_VALUE 1 qh 4096-ptr_max
PARAM_VALUE 1 qh->dummy->qtd_buffer_len 0,512-2048
PARAM_VALUE 1 qh->dummy->transfer_dma 0
CAPPED_DATA 1 &qh->qtd_list 1
DATA_SOURCE 0 fotg210 $0
PARAM_COMPARE 1 &qh->qtd_list != $1->qtd_list.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 fotg210->actions 0-u64max
HOST_DATA 0 fotg210->bus_suspended 0-u64max
HOST_DATA 0 fotg210->command 0-u32max
HOST_DATA 0 fotg210->companion_ports 0-u64max
HOST_DATA 0 fotg210->hcs_params 0-u32max
HOST_DATA 0 fotg210->i_thresh 0-u32max
HOST_DATA 0 fotg210->is_otg 0-1
HOST_DATA 0 fotg210->next_statechange 0-u64max
HOST_DATA 0 fotg210->next_uframe s32min-s32max
HOST_DATA 0 fotg210->periodic_dma 0-u64max
HOST_DATA 0 fotg210->periodic_sched 0-u32max
HOST_DATA 0 fotg210->periodic_size 0-u32max
HOST_DATA 0 fotg210->sbrn 0-255
HOST_DATA 0 fotg210->scanning 0-1
HOST_DATA 0 fotg210->stamp 0-u32max
HOST_DATA 0 fotg210->urb_len 0-u32max
HOST_DATA 0 fotg210->urb_timer.expires 0-u64max
HOST_DATA 0 fotg210->urb_timer.flags 0-u32max
HOST_DATA 0 fotg210->watchdog.expires 0-u64max
HOST_DATA 0 fotg210->watchdog.flags 0-u32max
HALF_LOCKED2 flags
HALF_LOCKED2 0 &fotg210->lock

drivers/usb/host/oxu210hp-hcd.c submit_async() -> qh_link_async()

Type Parameter Key Value
PARAM_VALUE 0 fotg210 4096-ptr_max
PARAM_VALUE 0 fotg210->mem_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 *fotg210->db_used 0-255
PARAM_VALUE 0 *fotg210->qh_used 1
PARAM_VALUE 0 *fotg210->qtd_used 0-255
PARAM_VALUE 1 qh 4096-ptr_max
PARAM_VALUE 1 qh->dummy->qtd_buffer_len 0,512-2048
PARAM_VALUE 1 qh->qh_state 3
DATA_SOURCE 0 fotg210 $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &fotg210->lock
TYPE_LOCK (struct oxu_hcd)->lock