Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/dwc2/gadget.c dwc2_gadget_complete_isoc_request_ddma() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 1 hs_ep->desc_list 4096-ptr_max
PARAM_VALUE 1 hs_ep->isochronous 1
PARAM_VALUE 2 hs_req 4096-ptr_max
PARAM_VALUE 3 result 0
DATA_SOURCE 1 hs_ep $0
DATA_SOURCE 2 hs_req r get_ep_head
PARAM_COMPARE 1 &hs_ep->queue != $1->queue.next
NOCHECK_CALL

drivers/usb/dwc2/gadget.c dwc2_gadget_handle_ep_disabled() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 hsotg 4096-ptr_max
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 1 hs_ep->isochronous 1
PARAM_VALUE 1 hs_ep->parent 4096-ptr_max
PARAM_VALUE 2 hs_req 4096-ptr_max
PARAM_VALUE 2 hs_req->req.actual 0
PARAM_VALUE 3 result (-61)
CAPPED_DATA 1 &hs_ep->queue 1
DATA_SOURCE 1 hs_ep $0
DATA_SOURCE 2 hs_req r get_ep_head
PARAM_COMPARE 1 &hs_ep->queue != $1->queue.next
NOCHECK_CALL
HOST_DATA 0 hsotg->frame_number 0-16383[c]

drivers/usb/dwc2/gadget.c dwc2_gadget_handle_isoc_bna() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 2 hs_req 0,4096-ptr_max
PARAM_VALUE 3 result 0
DATA_SOURCE 1 hs_ep $0
NOCHECK_CALL

drivers/usb/dwc2/gadget.c dwc2_gadget_handle_nak() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 hsotg 4096-ptr_max
PARAM_VALUE 0 hsotg->params.g_dma_desc 0
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 1 hs_ep->dir_in 1-255
PARAM_VALUE 1 hs_ep->isochronous 1
PARAM_VALUE 1 hs_ep->parent 4096-ptr_max
PARAM_VALUE 1 hs_ep->parent->params.g_dma_desc 0
PARAM_VALUE 1 hs_ep->target_frame 0-u16max
PARAM_VALUE 2 hs_req 4096-ptr_max
PARAM_VALUE 2 hs_req->req.actual 0
PARAM_VALUE 2 hs_req->req.frame_number 0-u16max
PARAM_VALUE 3 result (-61)
CAPPED_DATA 1 hs_ep->target_frame 1
CAPPED_DATA 2 hs_req->req.frame_number 1
DATA_SOURCE 1 hs_ep $0
DATA_SOURCE 2 hs_req r get_ep_head
PARAM_COMPARE 1 hs_ep->parent->frame_number >= $1->target_frame
PARAM_COMPARE 1 &hs_ep->queue != $1->queue.next
NOCHECK_CALL
HOST_DATA 0 hsotg->frame_number 0-16383[c]
HOST_DATA 1 hs_ep->parent->frame_number 0-16383[c]
HOST_DATA 1 hs_ep->target_frame 0-16383[c]
HOST_DATA 2 hs_req->req.frame_number 0-16383[c]

drivers/usb/dwc2/gadget.c dwc2_gadget_handle_out_token_ep_disabled() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 hsotg 4096-ptr_max
PARAM_VALUE 0 hsotg->params.g_dma_desc 0
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 1 hs_ep->dir_in 0
PARAM_VALUE 1 hs_ep->isochronous 1
PARAM_VALUE 1 hs_ep->parent 4096-ptr_max
PARAM_VALUE 1 hs_ep->parent->params.g_dma_desc 0
PARAM_VALUE 1 hs_ep->target_frame 0-u16max
PARAM_VALUE 2 hs_req 4096-ptr_max
PARAM_VALUE 2 hs_req->req.actual 0
PARAM_VALUE 2 hs_req->req.frame_number 0-u16max
PARAM_VALUE 3 result (-61)
CAPPED_DATA 1 hs_ep->target_frame 1
CAPPED_DATA 2 hs_req->req.frame_number 1
DATA_SOURCE 1 hs_ep $0
DATA_SOURCE 2 hs_req r get_ep_head
PARAM_COMPARE 1 hs_ep->parent->frame_number >= $1->target_frame
PARAM_COMPARE 1 &hs_ep->queue != $1->queue.next
NOCHECK_CALL
HOST_DATA 0 hsotg->frame_number 0-16383[c]
HOST_DATA 1 hs_ep->parent->frame_number 0-16383[c]
HOST_DATA 1 hs_ep->target_frame 0-16383[c]
HOST_DATA 2 hs_req->req.frame_number 0-16383[c]

drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_in() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 hsotg 4096-ptr_max
PARAM_VALUE 0 hsotg->ep0_state 3
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 1 hs_ep->dir_in 0
PARAM_VALUE 1 hs_ep->index 0
PARAM_VALUE 1 hs_ep->req 1-u64max
PARAM_VALUE 2 hs_req 1-u64max
PARAM_VALUE 3 result 0
DATA_SOURCE 0 hsotg $0
DATA_SOURCE 1 hs_ep $1
NOCHECK_CALL

drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_in() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 hsotg 4096-ptr_max
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 1 hs_ep->req 4096-ptr_max
PARAM_VALUE 1 hs_ep->send_zlp 0
PARAM_VALUE 2 hs_req 4096-ptr_max
PARAM_VALUE 3 result 0
DATA_SOURCE 0 hsotg $0
DATA_SOURCE 1 hs_ep $1
BIT_INFO 2 hs_req->req.actual 0x0,0x7fffffff
NOCHECK_CALL

drivers/usb/dwc2/gadget.c dwc2_hsotg_ep_dequeue() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 2 hs_req 4096-ptr_max
PARAM_VALUE 3 result (-104)
CAPPED_DATA 2 hs_req 1
DATA_SOURCE 1 hs_ep r our_ep
DATA_SOURCE 2 hs_req r our_req
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &hsotg->lock
HALF_LOCKED2 &ctx->ctx_lock
HALF_LOCKED2 &epdata->dev->lock
HALF_LOCKED2 &epdata->lock
HALF_LOCKED2 &epfile->dmabufs_mutex
HALF_LOCKED2 &epfile->ffs->eps_lock
HALF_LOCKED2 &ffs->eps_lock
HALF_LOCKED2 &port->port_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct dwc2_hsotg)->lock

drivers/usb/dwc2/gadget.c dwc2_hsotg_handle_outdone() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 hsotg 4096-ptr_max
PARAM_VALUE 0 hsotg->ep0_state 4
PARAM_VALUE 0 hsotg->eps_out 4096-ptr_max
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 1 hs_ep->req 1-u64max
PARAM_VALUE 2 hs_req 1-u64max
PARAM_VALUE 3 result 0
DATA_SOURCE 0 hsotg $0
NOCHECK_CALL

drivers/usb/dwc2/gadget.c dwc2_hsotg_handle_outdone() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 hsotg 4096-ptr_max
PARAM_VALUE 0 hsotg->eps_out 4096-ptr_max
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 1 hs_ep->req 1-u64max
PARAM_VALUE 2 hs_req 1-u64max
PARAM_VALUE 3 result 0
DATA_SOURCE 0 hsotg $0
NOCHECK_CALL

drivers/usb/dwc2/gadget.c dwc2_hsotg_start_req() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 hsotg 4096-ptr_max
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 1 hs_ep->isochronous 1
PARAM_VALUE 1 hs_ep->parent 4096-ptr_max
PARAM_VALUE 1 hs_ep->req 1-u64max
PARAM_VALUE 1 hs_ep->target_frame 0-u16max
PARAM_VALUE 2 hs_req 4096-ptr_max
PARAM_VALUE 2 hs_req->req.actual 0
PARAM_VALUE 2 hs_req->req.frame_number 0-u16max
PARAM_VALUE 3 result (-61)
CAPPED_DATA 1 hs_ep->target_frame 1
CAPPED_DATA 2 hs_req 1
CAPPED_DATA 2 hs_req->req.frame_number 1
DATA_SOURCE 0 hsotg $0
DATA_SOURCE 1 hs_ep $1
DATA_SOURCE 2 hs_req $2
PARAM_COMPARE 1 hs_ep->parent->frame_number >= $1->target_frame
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 hsotg->frame_number 0-16383[c]
HOST_DATA 1 hs_ep->parent->frame_number 0-16383[c]
HOST_DATA 1 hs_ep->target_frame 0-16383[c]
HOST_DATA 2 hs_req->req.frame_number 0-16383[c]

drivers/usb/dwc2/gadget.c kill_all_requests() -> dwc2_hsotg_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 hsotg 4096-ptr_max
PARAM_VALUE 0 hsotg->phy->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 hs_ep 4096-ptr_max
PARAM_VALUE 1 hs_ep->req 0,4096-ptr_max
PARAM_VALUE 2 hs_req 4096-ptr_max
PARAM_VALUE 3 result (-108),(-104)
BUF_SIZE 0 hsotg s32min-(-1),1-s32max
BUF_SIZE 0 hsotg s32min-(-1),1-s32max
CAPPED_DATA 1 &hs_ep->queue 1
DATA_SOURCE 0 hsotg $0
DATA_SOURCE 1 hs_ep $1
DATA_SOURCE 2 hs_req r get_ep_head
DATA_SOURCE 3 result $2
PARAM_COMPARE 1 &hs_ep->queue != $1->queue.next
HARD_MAX 3 result (-104)
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 hsotg->frame_number 0-u16max[c]
HOST_DATA 0 hsotg->gadget.dev.bus_dma_limit 0-u64max
HOST_DATA 0 hsotg->gadget.dev.coherent_dma_mask 0-u64max
HOST_DATA 0 hsotg->gadget.dev.devt 0-u32max
HOST_DATA 0 hsotg->gadget.dev.dma_uses_io_tlb 0-1
HOST_DATA 0 hsotg->gadget.dev.id 0-u32max
HOST_DATA 0 hsotg->gadget.dev.kobj.kref.refcount.refs.counter s32min-s32max
HOST_DATA 0 hsotg->gadget.dev.kobj.release.cpu s32min-s32max
HOST_DATA 0 hsotg->gadget.dev.kobj.release.timer.expires 0-u64max
HOST_DATA 0 hsotg->gadget.dev.kobj.release.timer.flags 0-u32max
HOST_DATA 0 hsotg->gadget.dev.kobj.release.work.data.counter s64min-s64max
HOST_DATA 0 hsotg->gadget.dev.kobj.state_add_uevent_sent 0-1
HOST_DATA 0 hsotg->gadget.dev.kobj.state_in_sysfs 0-1
HOST_DATA 0 hsotg->gadget.dev.kobj.state_initialized 0-1
HOST_DATA 0 hsotg->gadget.dev.kobj.state_remove_uevent_sent 0-1
HOST_DATA 0 hsotg->gadget.dev.kobj.uevent_suppress 0-1
HOST_DATA 0 hsotg->gadget.dev.links.status 0-u32max
HOST_DATA 0 hsotg->gadget.dev.mutex.osq.tail.counter s32min-s32max
HOST_DATA 0 hsotg->gadget.dev.mutex.owner.counter s64min-s64max
HOST_DATA 0 hsotg->gadget.dev.numa_node s32min-s32max
HOST_DATA 0 hsotg->gadget.dev.power.accounting_timestamp 0-u64max
HOST_DATA 0 hsotg->gadget.dev.power.active_time 0-u64max
HOST_DATA 0 hsotg->gadget.dev.power.async_suspend 0-1
HOST_DATA 0 hsotg->gadget.dev.power.autosuspend_delay s32min-s32max
HOST_DATA 0 hsotg->gadget.dev.power.can_wakeup 0-1
HOST_DATA 0 hsotg->gadget.dev.power.child_count.counter s32min-s32max
HOST_DATA 0 hsotg->gadget.dev.power.completion.done 0-u32max
HOST_DATA 0 hsotg->gadget.dev.power.deferred_resume 0-1
HOST_DATA 0 hsotg->gadget.dev.power.detach_power_off 0-1
HOST_DATA 0 hsotg->gadget.dev.power.direct_complete 0-1
HOST_DATA 0 hsotg->gadget.dev.power.disable_depth 0-7
HOST_DATA 0 hsotg->gadget.dev.power.driver_flags 0-u32max
HOST_DATA 0 hsotg->gadget.dev.power.early_init 0-1
HOST_DATA 0 hsotg->gadget.dev.power.idle_notification 0-1
HOST_DATA 0 hsotg->gadget.dev.power.ignore_children 0-1
HOST_DATA 0 hsotg->gadget.dev.power.in_dpm_list 0-1
HOST_DATA 0 hsotg->gadget.dev.power.irq_safe 0-1
HOST_DATA 0 hsotg->gadget.dev.power.is_late_suspended 0-1
HOST_DATA 0 hsotg->gadget.dev.power.is_noirq_suspended 0-1
HOST_DATA 0 hsotg->gadget.dev.power.is_prepared 0-1
HOST_DATA 0 hsotg->gadget.dev.power.is_suspended 0-1
HOST_DATA 0 hsotg->gadget.dev.power.last_busy 0-u64max
HOST_DATA 0 hsotg->gadget.dev.power.last_status s32min-s32max
HOST_DATA 0 hsotg->gadget.dev.power.links_count 0-u32max
HOST_DATA 0 hsotg->gadget.dev.power.may_skip_resume 0-1
HOST_DATA 0 hsotg->gadget.dev.power.memalloc_noio 0-1
HOST_DATA 0 hsotg->gadget.dev.power.must_resume 0-1
HOST_DATA 0 hsotg->gadget.dev.power.needs_force_resume 0-1
HOST_DATA 0 hsotg->gadget.dev.power.no_callbacks 0-1
HOST_DATA 0 hsotg->gadget.dev.power.no_pm 0-1
HOST_DATA 0 hsotg->gadget.dev.power.no_pm_callbacks 0-1
HOST_DATA 0 hsotg->gadget.dev.power.out_band_wakeup 0-1
HOST_DATA 0 hsotg->gadget.dev.power.power_state.event s32min-s32max
HOST_DATA 0 hsotg->gadget.dev.power.request 0-u32max
HOST_DATA 0 hsotg->gadget.dev.power.request_pending 0-1
HOST_DATA 0 hsotg->gadget.dev.power.runtime_auto 0-1
HOST_DATA 0 hsotg->gadget.dev.power.runtime_error s32min-s32max
HOST_DATA 0 hsotg->gadget.dev.power.runtime_status s32min-s32max
HOST_DATA 0 hsotg->gadget.dev.power.smart_suspend 0-1
HOST_DATA 0 hsotg->gadget.dev.power.strict_midlayer 0-1
HOST_DATA 0 hsotg->gadget.dev.power.suspended_time 0-u64max
HOST_DATA 0 hsotg->gadget.dev.power.syscore 0-1
HOST_DATA 0 hsotg->gadget.dev.power.timer_autosuspends 0-1
HOST_DATA 0 hsotg->gadget.dev.power.timer_expires 0-u64max
HOST_DATA 0 hsotg->gadget.dev.power.usage_count.counter s32min-s32max
HOST_DATA 0 hsotg->gadget.dev.power.use_autosuspend 0-1
HOST_DATA 0 hsotg->gadget.dev.power.work_in_progress 0-1
HOST_DATA 0 hsotg->gadget.dev.removable 0-u32max
UNITS 0 hsotg unit_byte
HALF_LOCKED2 &hsotg->lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &hsotg->lock
TYPE_LOCK (struct dwc2_hsotg)->lock