Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/usb/mtu3/mtu3_gadget_ep0.c ep0_req_giveback() -> mtu3_req_complete()

Type Parameter Key Value
PARAM_VALUE 0 mep 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 2 status 0
BUF_SIZE 1 req (-1),104
BUF_SIZE 1 req (-1),104
DATA_SOURCE 1 req $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mtu->lock
LOCK2 flags
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct mtu3)->lock

drivers/usb/mtu3/mtu3_qmu.c qmu_done_rx() -> mtu3_req_complete()

Type Parameter Key Value
PARAM_VALUE 0 mep 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 1 req->actual 0-1048575
PARAM_VALUE 2 status 0
BUF_SIZE 1 req 104
PARAM_COMPARE 0 &mep->req_list != $0->req_list.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mtu->lock
LOCK2 flags
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct mtu3)->lock

drivers/usb/mtu3/mtu3_qmu.c qmu_done_tx() -> mtu3_req_complete()

Type Parameter Key Value
PARAM_VALUE 0 mep 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 1 req->actual 0-1048575
PARAM_VALUE 2 status 0
BUF_SIZE 1 req 104
PARAM_COMPARE 0 &mep->req_list != $0->req_list.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mtu->lock
LOCK2 flags
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct mtu3)->lock

drivers/usb/mtu3/mtu3_gadget.c mtu3_gadget_dequeue() -> mtu3_req_complete()

Type Parameter Key Value
PARAM_VALUE 0 mep 4096-ptr_max
PARAM_VALUE 0 mep->gpd_ring.end 4096-ptr_max
PARAM_VALUE 0 mep->gpd_ring.start 0,4096-ptr_max
PARAM_VALUE 0 mep->gpd_ring.start->dw0_info 0,2-u32max
PARAM_VALUE 0 mep->mtu 4096-ptr_max
PARAM_VALUE 2 status (-104)
BUF_SIZE 1 req->buf (-1)-1000000000,2147479552
BUF_SIZE 1 req->context (-1),96
CAPPED_DATA 0 mep 1
CAPPED_DATA 0 &mep->req_list 1
DATA_SOURCE 0 mep r to_mtu3_ep
DATA_SOURCE 1 req $1
NOSPEC 1 req->length
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 req->length 0-u32max
USER_DATA 1 req->zero 0-1[c]
USER_PTR 1 req->buf
LOCK2 &mtu->lock
LOCK2 flags
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 mtu3)->lock

drivers/usb/mtu3/mtu3_gadget.c nuke() -> mtu3_req_complete()

Type Parameter Key Value
PARAM_VALUE 0 mep 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 2 status (-108)
CAPPED_DATA 0 &mep->req_list 1
DATA_SOURCE 0 mep $0
DATA_SOURCE 2 status $1
PARAM_COMPARE 0 &mep->req_list != $0->req_list.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mtu->lock
HALF_LOCKED2 &udc->connect_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct mtu3)->lock