Defined in 2 files as a prototype:

Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

drivers/usb/core/devio.c proc_setconfig() -> usb_set_configuration()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->state 1-u32max
USER_DATA 1 configuration s32min-s32max
UNITS 1 configuration unit_byte
LOCK2 &dev->dev.mutex
TYPE_LOCK (struct device)->mutex

drivers/usb/core/message.c driver_set_config_work() -> usb_set_configuration()

Type Parameter Key Value
PARAM_VALUE 1 configuration (-1)-s32max
FUZZY_MAX 1 configuration (-1)
NOCHECK_CALL
LOCK2 0 &dev->dev.mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex

drivers/usb/core/hcd-pci.c ehci_post_add() -> usb_set_configuration()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
PARAM_VALUE 1 configuration 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 global &companions_rwsem

drivers/usb/core/hcd-pci.c ehci_pre_add() -> usb_set_configuration()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
PARAM_VALUE 1 configuration 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &dev->dev.mutex
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 global &companions_rwsem
TYPE_LOCK (struct device)->mutex

drivers/usb/usbip/stub_rx.c tweak_set_configuration_cmd() -> usb_set_configuration()

Type Parameter Key Value
RX_PATH
UNITS 1 configuration unit_byte
LOCK2 &(sdev->udev)->dev.mutex

drivers/usb/core/hub.c usb_authorize_device() -> usb_set_configuration()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->authorized 1
PARAM_VALUE 0 dev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.driver 1-u64max
PARAM_VALUE 0 dev->dev.power.request 0-4
PARAM_VALUE 0 dev->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 dev->dev.type 0,4096-ptr_max
PARAM_VALUE 1 configuration 0-255
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 configuration r usb_choose_configuration
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 0 &dev->dev.mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/usb/core/hub.c usb_deauthorize_device() -> usb_set_configuration()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->authorized 0
PARAM_VALUE 1 configuration (-1)
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 0 &dev->dev.mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/usb/core/generic.c usb_generic_driver_disconnect() -> usb_set_configuration()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->actconfig 1-u64max
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 *dev->toggle 0-4294967295
PARAM_VALUE 1 configuration (-1)
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/usb/core/generic.c usb_generic_driver_probe() -> usb_set_configuration()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->authorized 1
PARAM_VALUE 0 dev->dev.driver 1-u64max
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 *dev->toggle 0-4294967295
PARAM_VALUE 1 configuration 0-255
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 configuration r usb_choose_configuration
RX_PATH
TASK_NOT_RUNNING

drivers/usb/core/sysfs.c bConfigurationValue_store() -> usb_set_configuration()

Type Parameter Key Value
PARAM_VALUE 1 configuration (-1)-255
FUZZY_MAX 1 configuration 255
HARD_MAX 1 configuration 255
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 0 &dev->dev.mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/usb/core/sysfs.c remove_store() -> usb_set_configuration()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->state 1-u32max
PARAM_VALUE 1 configuration (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 0 &dev->dev.mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct kernfs_open_file)->mutex