Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/gadget/udc/aspeed_udc.c ast_udc_ep0_in() -> ast_udc_done()

Type Parameter Key Value
PARAM_VALUE 0 ep 4096-ptr_max
PARAM_VALUE 0 ep->dir_in 1
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 2 status 0
BUF_SIZE 0 ep 800
BUF_SIZE 0 ep 800
CAPPED_DATA 0 &ep->queue 1
CAPPED_DATA 1 req->req.actual 1
CAPPED_DATA 1 req->req.length 1
PARAM_COMPARE 0 &ep->queue != $0->queue.next
PARAM_COMPARE 1 req->req.actual == $1->req.length
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udc->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct ast_udc_dev)->lock

drivers/usb/gadget/udc/aspeed_udc.c ast_udc_ep0_out() -> ast_udc_done()

Type Parameter Key Value
PARAM_VALUE 0 ep 4096-ptr_max
PARAM_VALUE 0 ep->dir_in 0
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 2 status 0
BUF_SIZE 0 ep 800
BUF_SIZE 0 ep 800
CAPPED_DATA 0 ep->ep.maxpacket 1
CAPPED_DATA 0 &ep->queue 1
PARAM_COMPARE 0 &ep->queue != $0->queue.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udc->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct ast_udc_dev)->lock

drivers/usb/gadget/udc/aspeed_udc.c ast_udc_ep0_out() -> ast_udc_done()

Type Parameter Key Value
PARAM_VALUE 0 ep 4096-ptr_max
PARAM_VALUE 0 ep->ep.maxpacket 0-127
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 1 req->req.length 0-126
PARAM_VALUE 2 status 0
BUF_SIZE 0 ep 800
BUF_SIZE 0 ep 800
CAPPED_DATA 0 ep->ep.maxpacket 1
CAPPED_DATA 0 &ep->queue 1
CAPPED_DATA 1 req->req.length 1
PARAM_COMPARE 0 &ep->queue != $0->queue.next
PARAM_COMPARE 1 req->req.actual != $1->req.length
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udc->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct ast_udc_dev)->lock

drivers/usb/gadget/udc/aspeed_udc.c ast_udc_ep_dequeue() -> ast_udc_done()

Type Parameter Key Value
PARAM_VALUE 0 ep 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 1 req->queue.next->prev 4096-ptr_max
PARAM_VALUE 1 req->queue.prev->next 4096-ptr_max
PARAM_VALUE 2 status (-108)
CAPPED_DATA 0 &ep->queue 1
CAPPED_DATA 1 &req->queue 1
CAPPED_DATA 1 &req->req 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udc->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 ast_udc_dev)->lock

drivers/usb/gadget/udc/aspeed_udc.c ast_udc_epn_handle() -> ast_udc_done()

Type Parameter Key Value
PARAM_VALUE 0 ep 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 2 status 0
CAPPED_DATA 0 &ep->queue 1
CAPPED_DATA 1 req->req.actual 1
CAPPED_DATA 1 req->req.length 1
PARAM_COMPARE 0 &ep->queue != $0->queue.next
PARAM_COMPARE 1 req->req.actual == $1->req.length
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udc->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct ast_udc_dev)->lock

drivers/usb/gadget/udc/aspeed_udc.c ast_udc_epn_handle() -> ast_udc_done()

Type Parameter Key Value
PARAM_VALUE 0 ep 4096-ptr_max
PARAM_VALUE 0 ep->ep.maxpacket 1-u16max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 2 status 0
CAPPED_DATA 0 &ep->queue 1
PARAM_COMPARE 0 &ep->queue != $0->queue.next
PARAM_COMPARE 1 req->req.actual != $1->req.length
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udc->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct ast_udc_dev)->lock

drivers/usb/gadget/udc/aspeed_udc.c ast_udc_epn_handle_desc() -> ast_udc_done()

Type Parameter Key Value
PARAM_VALUE 0 ep 4096-ptr_max
PARAM_VALUE 0 ep->descs 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 2 status 0
CAPPED_DATA 0 &ep->queue 1
CAPPED_DATA 1 req->req.actual 1
CAPPED_DATA 1 req->req.length 1
PARAM_COMPARE 0 &ep->queue != $0->queue.next
PARAM_COMPARE 1 req->req.actual == $1->req.length
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udc->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct ast_udc_dev)->lock

drivers/usb/gadget/udc/aspeed_udc.c ast_udc_epn_handle_desc() -> ast_udc_done()

Type Parameter Key Value
PARAM_VALUE 0 ep 4096-ptr_max
PARAM_VALUE 0 ep->descs 4096-ptr_max
PARAM_VALUE 0 ep->ep.maxpacket 1-u16max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 2 status 0
CAPPED_DATA 0 &ep->queue 1
PARAM_COMPARE 0 &ep->queue != $0->queue.next
PARAM_COMPARE 1 req->req.actual != $1->req.length
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udc->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct ast_udc_dev)->lock

drivers/usb/gadget/udc/aspeed_udc.c ast_udc_nuke() -> ast_udc_done()

Type Parameter Key Value
PARAM_VALUE 0 ep 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 2 status (-110),(-108)
BUF_SIZE 0 ep (-1),800
BUF_SIZE 0 ep (-1),800
CAPPED_DATA 0 &ep->queue 1
DATA_SOURCE 0 ep $0
DATA_SOURCE 2 status $1
PARAM_COMPARE 0 &ep->queue != $0->queue.next
HARD_MAX 2 status (-108)
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udc->lock
HALF_LOCKED2 &udc->connect_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct ast_udc_dev)->lock