Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/usb/core/port.c disable_store() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->actconfig 4096-ptr_max
PARAM_VALUE 0 hdev->maxchild s32min-(-1),1-s32max
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 feature 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 0 &hdev->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/port.c disable_store() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->actconfig 4096-ptr_max
PARAM_VALUE 0 hdev->maxchild s32min-(-1),1-s32max
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 feature 17
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 0 &hdev->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/port.c usb_port_runtime_suspend() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->actconfig 4096-ptr_max
PARAM_VALUE 0 hdev->maxchild s32min-(-1),1-s32max
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 feature 16
NOCHECK_CALL

drivers/usb/core/port.c usb_port_runtime_suspend() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->actconfig 4096-ptr_max
PARAM_VALUE 0 hdev->maxchild s32min-(-1),1-s32max
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 feature 17
NOCHECK_CALL

drivers/usb/core/hub.c check_port_resume_type() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 feature 16
DATA_SOURCE 1 port1 $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &port_dev->status_lock
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c check_port_resume_type() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 feature 17
DATA_SOURCE 1 port1 $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &port_dev->status_lock
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c hub_activate() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 0-2,4-255
PARAM_VALUE 0 hdev->maxchild 1-s32max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 1
CAPPED_DATA 1 port1 1
PARAM_COMPARE 0 hdev->maxchild >= $1
PARAM_COMPARE 1 port1 <= $0->maxchild
CONSTRAINT 1 port1 <=3318
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 port1 unit_array_size
HALF_LOCKED2 0 &hdev->dev.mutex

drivers/usb/core/hub.c hub_activate() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->maxchild 1-s32max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 16
CAPPED_DATA 1 port1 1
CONSTRAINT 1 port1 <=3318
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 port1 unit_array_size
HALF_LOCKED2 &hdev->dev.mutex

drivers/usb/core/hub.c hub_activate() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->maxchild 1-s32max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 17
CAPPED_DATA 1 port1 1
CONSTRAINT 1 port1 <=3318
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 port1 unit_array_size
HALF_LOCKED2 &hdev->dev.mutex

drivers/usb/core/hub.c hub_activate() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->maxchild 1-s32max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 20
CAPPED_DATA 1 port1 1
CONSTRAINT 1 port1 <=3318
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 port1 unit_array_size
HALF_LOCKED2 &hdev->dev.mutex

drivers/usb/core/hub.c hub_activate() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 0 hdev->maxchild 1-s32max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 29
CAPPED_DATA 1 port1 1
CONSTRAINT 1 port1 <=3318
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 port1 unit_array_size
HALF_LOCKED2 &hdev->dev.mutex

drivers/usb/core/hub.c hub_handle_remote_wakeup() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 0-2,4-255
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 18
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c hub_port_debounce() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 *hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 0-s32max
PARAM_VALUE 2 feature 16
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
NOCHECK_CALL
UNITS 1 port1 unit_array_size
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port_dev->status_lock

drivers/usb/core/hub.c hub_port_disable() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 0-2,4-255
PARAM_VALUE 2 feature 1
DATA_SOURCE 1 port1 $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 port1 unit_array_size
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port_dev->status_lock

drivers/usb/core/hub.c hub_port_reset() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 0 hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hdev->parent->bus->sysdev->iommu->attach_deferred 0-1
PARAM_VALUE 0 *hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 20
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &ehci_cf_port_reset_rwsem
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c hub_port_reset() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 0 hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hdev->parent->bus->sysdev->iommu->attach_deferred 0-1
PARAM_VALUE 0 *hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 29
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &ehci_cf_port_reset_rwsem
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c hub_port_reset() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 0 hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hdev->parent->bus->sysdev->iommu->attach_deferred 0-1
PARAM_VALUE 0 *hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 25
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &ehci_cf_port_reset_rwsem
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c hub_port_reset() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 0 hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hdev->parent->bus->sysdev->iommu->attach_deferred 0-1
PARAM_VALUE 0 *hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 16
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &ehci_cf_port_reset_rwsem
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c hub_port_wait_reset() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 0 hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 *hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 16
CAPPED_DATA 0 hdev->maxchild 1
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &ehci_cf_port_reset_rwsem
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c hub_power_on() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hdev->maxchild 1-s32max
PARAM_VALUE 0 *hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 8
CAPPED_DATA 1 port1 1
PARAM_COMPARE 0 hdev->maxchild >= $1
PARAM_COMPARE 1 port1 <= $0->maxchild
CONSTRAINT 1 port1 <=3318
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 port1 unit_array_size
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &port_dev->status_lock

drivers/usb/core/hub.c port_event() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 16
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c port_event() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 17
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c port_event() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 19
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c port_event() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 20
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c port_event() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 29
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c port_event() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 25
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c port_event() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 feature 26
CAPPED_DATA 1 port1 1
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c usb_hub_set_port_power() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 port1 0-s32max
PARAM_VALUE 2 feature 8
CAPPED_DATA 1 port1 1
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 port1 $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 port1 unit_array_size
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 0 &hdev->dev.mutex

drivers/usb/core/hub.c usb_port_resume() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 0-2,4-255
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 feature 2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 port1 unit_array_size
LOCK2 &port_dev->status_lock
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c usb_port_resume() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 feature 25
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &port_dev->status_lock
TYPE_LOCK (struct usb_port)->status_lock

drivers/usb/core/hub.c usb_port_resume() -> usb_clear_port_feature()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->descriptor.bDeviceProtocol 0-2,4-255
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 feature 18
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 port1 unit_array_size
LOCK2 &port_dev->status_lock
TYPE_LOCK (struct usb_port)->status_lock