Defined in 2 files as a prototype:
- drivers/usb/host/ehci-q.c, line 1419 (as a prototype)
- drivers/usb/host/oxu210hp-hcd.c, line 1371 (as a prototype)
Defined in 3 files as a function:
- drivers/usb/fotg210/fotg210-hcd.c, line 3188 (as a function)
- drivers/usb/host/ehci-q.c, line 1470 (as a function)
- drivers/usb/host/oxu210hp-hcd.c, line 2100 (as a function)
Referenced in 4 files:
- drivers/usb/fotg210/fotg210-hcd.c
- drivers/usb/host/ehci-hcd.c
- drivers/usb/host/ehci-q.c
- drivers/usb/host/oxu210hp-hcd.c
Smatch caller information:
drivers/usb/host/ehci-hcd.c ehci_endpoint_disable() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | qh | 4096-ptr_max |
| PARAM_VALUE | 1 | qh->hw | 1-u64max |
| PARAM_VALUE | 1 | qh->qh_state | 1 |
| 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 |
| BIT_INFO | 1 | qh->unlink_reason | 0x20,0xff |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &fotg210->lock | |
| HALF_LOCKED2 | &udev->dev.mutex | ||
| TYPE_LOCK | (struct ehci_hcd)->lock |
drivers/usb/host/ehci-hcd.c ehci_endpoint_reset() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | qh | 4096-ptr_max |
| PARAM_VALUE | 1 | qh->ps.udev | 4096-ptr_max |
| PARAM_VALUE | 1 | qh->qtd_list.next | 4096-ptr_max |
| 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 |
| BIT_INFO | 1 | qh->unlink_reason | 0x20,0xff |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &fotg210->lock | |
| HALF_LOCKED2 | &udev->dev.mutex | ||
| TYPE_LOCK | (struct ehci_hcd)->lock |
drivers/usb/host/ehci-hcd.c ehci_urb_dequeue() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | qh | 4096-ptr_max |
| PARAM_VALUE | 1 | qh->qh_state | 1 |
| BUF_SIZE | 1 | qh | 8-s32max |
| BUF_SIZE | 1 | qh | 8-s32max |
| BIT_INFO | 1 | qh->unlink_reason | 0x20,0xff |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &fotg210->lock | |
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct ehci_hcd)->lock |
drivers/usb/host/ehci-hcd.c scan_async() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fotg210 | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->async | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->need_rescan | 0 |
| PARAM_VALUE | 0 | fotg210->scanning | 1 |
| PARAM_VALUE | 1 | qh | 4096-ptr_max |
| PARAM_VALUE | 1 | qh->dequeue_during_giveback | 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 | |||
| LOCK2 | 0 | &fotg210->lock | |
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct ehci_hcd)->lock |
drivers/usb/host/ehci-hcd.c unlink_empty_async() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fotg210 | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->async | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->async->qh_next.qh | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->async_unlink.next | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->hr_timeouts | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->next_hrtimer_event | 0-11,99 |
| PARAM_VALUE | 1 | qh | 4096-ptr_max |
| PARAM_VALUE | 1 | qh->qh_state | 1 |
| PARAM_VALUE | 1 | qh->qtd_list.next | 4096-ptr_max |
| CAPPED_DATA | 0 | &fotg210->async_unlink | 1 |
| DATA_SOURCE | 0 | fotg210 | $0 |
| FUZZY_MAX | 0 | fotg210->next_hrtimer_event | 99 |
| PARAM_COMPARE | 0 | &fotg210->async_unlink | == $0->async_unlink.next |
| BIT_INFO | 1 | qh->unlink_reason | 0x10,0xff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &fotg210->lock | |
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct ehci_hcd)->lock |
drivers/usb/fotg210/fotg210-hcd.c fotg210_endpoint_disable() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fotg210 | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->async | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->rh_state | 2-u32max |
| PARAM_VALUE | 1 | qh | 4096-ptr_max |
| PARAM_VALUE | 1 | qh->hw | 1-u64max |
| PARAM_VALUE | 1 | qh->qh_state | 1,5 |
| 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 | 1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &fotg210->lock | |
| HALF_LOCKED2 | &udev->dev.mutex | ||
| TYPE_LOCK | (struct fotg210_hcd)->lock |
drivers/usb/fotg210/fotg210-hcd.c fotg210_endpoint_reset() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | qh | 4096-ptr_max |
| PARAM_VALUE | 1 | qh->dev | 4096-ptr_max |
| PARAM_VALUE | 1 | qh->qh_state | 1,5 |
| PARAM_VALUE | 1 | qh->qtd_list.next | 4096-ptr_max |
| 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 |
| FUZZY_MAX | 1 | qh->qh_state | 5 |
| PARAM_COMPARE | 1 | &qh->qtd_list | == $1->qtd_list.next |
| BIT_INFO | 1 | qh->qh_state | 0x1,0x5 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &fotg210->lock | |
| HALF_LOCKED2 | &udev->dev.mutex | ||
| TYPE_LOCK | (struct fotg210_hcd)->lock |
drivers/usb/fotg210/fotg210-hcd.c fotg210_urb_dequeue() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | qh | 4096-ptr_max |
| PARAM_VALUE | 1 | qh->qh_state | 1,5 |
| BUF_SIZE | 1 | qh | 8-s32max |
| BUF_SIZE | 1 | qh | 8-s32max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &fotg210->lock | |
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct fotg210_hcd)->lock |
drivers/usb/fotg210/fotg210-hcd.c scan_async() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fotg210 | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->async | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->need_rescan | 0 |
| PARAM_VALUE | 0 | fotg210->scanning | 1 |
| PARAM_VALUE | 1 | qh | 4096-ptr_max |
| PARAM_VALUE | 1 | qh->needs_rescan | 1 |
| 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 | |||
| LOCK2 | 0 | &fotg210->lock | |
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct fotg210_hcd)->lock |
drivers/usb/host/oxu210hp-hcd.c end_unlink_async() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fotg210 | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->async | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->async->qh_next.qh->dummy->qtd_buffer_len | 0,512-2048 |
| PARAM_VALUE | 0 | fotg210->reclaim | 0 |
| 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 | 1-u64max |
| DATA_SOURCE | 0 | fotg210 | $0 |
| 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 oxu_watchdog() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fotg210 | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &fotg210->lock | |
| TYPE_LOCK | (struct oxu_hcd)->lock |
drivers/usb/host/oxu210hp-hcd.c scan_async() -> start_unlink_async()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fotg210 | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->async | 4096-ptr_max |
| PARAM_VALUE | 0 | fotg210->reclaim | 0 |
| PARAM_VALUE | 0 | fotg210->reclaim->dummy->qtd_buffer_len | 0,512-2048 |
| PARAM_VALUE | 0 | fotg210->scanning | 1 |
| PARAM_VALUE | 0 | fotg210->stamp | 1-u32max |
| PARAM_VALUE | 0 | *fotg210->db_used | 0-255 |
| PARAM_VALUE | 0 | *fotg210->murb_used | 0-255 |
| PARAM_VALUE | 0 | *fotg210->qtd_used | 0-255 |
| 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 |
| PARAM_VALUE | 1 | qh->qh_state | 1 |
| PARAM_VALUE | 1 | qh->qtd_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | *qh->oxu->db_used | 0-255 |
| PARAM_VALUE | 1 | *qh->oxu->qh_used | 0-255 |
| PARAM_VALUE | 1 | *qh->oxu->qtd_used | 0-255 |
| CAPPED_DATA | 0 | fotg210->async | 1 |
| CAPPED_DATA | 0 | fotg210->stamp | 1 |
| CAPPED_DATA | 1 | &qh->qtd_list | 1 |
| DATA_SOURCE | 0 | fotg210 | $0 |
| FUZZY_MAX | 0 | fotg210->stamp | 1 |
| PARAM_COMPARE | 1 | qh | == $1 |
| 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->reclaim_ready | 0 |
| HOST_DATA | 0 | fotg210->sbrn | 0-255 |
| HOST_DATA | 0 | fotg210->stamp | 1-u32max[c] |
| 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 |
| LOCK2 | 0 | &fotg210->lock | |
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct oxu_hcd)->lock |
drivers/usb/host/oxu210hp-hcd.c unlink_async() -> start_unlink_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 |
| PARAM_VALUE | 1 | qh->qh_state | 1 |
| PARAM_VALUE | 1 | *qh->oxu->db_used | 0-255 |
| PARAM_VALUE | 1 | *qh->oxu->qh_used | 0-255 |
| PARAM_VALUE | 1 | *qh->oxu->qtd_used | 0-255 |
| BUF_SIZE | 1 | qh | (-1),1-s32max |
| BUF_SIZE | 1 | qh | (-1),1-s32max |
| CAPPED_DATA | 1 | qh | 1 |
| DATA_SOURCE | 0 | fotg210 | $0 |
| DATA_SOURCE | 1 | qh | $1 |
| 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->reclaim_ready | 0 |
| 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 |
| HOST_DATA | 1 | qh->stamp | 1-u32max[c] |
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | 0 | &fotg210->lock |