Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/gadget/configfs.c purge_configs_funcs() -> (struct usb_function)->unbind()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->list.next 4096-ptr_max
PARAM_VALUE 1 f->list.prev 4096-ptr_max
PARAM_VALUE 1 f->unbind 1-u64max
CAPPED_DATA 0 &c->functions 1
CAPPED_DATA 0 &c->list 1
CAPPED_DATA 1 &f->list 1
CONTAINER 1 -80+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/usb/gadget/composite.c usb_add_config() -> (struct usb_function)->unbind()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->bConfigurationValue 1-3
PARAM_VALUE 0 c->cdev 4096-ptr_max
PARAM_VALUE 0 c->functions.next 4096-ptr_max
PARAM_VALUE 0 c->functions.next->next 4096-ptr_max
PARAM_VALUE 0 c->functions.prev->next 4096-ptr_max
PARAM_VALUE 0 c->functions.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->list.next 4096-ptr_max
PARAM_VALUE 0 c->next_interface_id 0
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->unbind 1-u64max
CAPPED_DATA 0 c->bConfigurationValue 1
CAPPED_DATA 0 &c->functions 1
DATA_SOURCE 0 c $1
CONTAINER 1 -80+0 $(-1)
PARAM_COMPARE 0 &c->functions != $0->functions.next
MEM_ZERO 0 c->interface
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/usb/gadget/composite.c usb_remove_function() -> (struct usb_function)->unbind()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->unbind 1-u64max
BUF_SIZE 0 c->descriptors (-1),16
BUF_SIZE 0 c->label s32min-(-1),1-s32max
DATA_SOURCE 0 c $0
DATA_SOURCE 1 f $1
STR_LEN 0 c->cdev (-1)
STR_LEN 0 c->label (-1),15,18
CONTAINER 1 -80+0 $(-1)
MEM_ZERO 1 f->endpoints
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL