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_show() -> usb_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->disconnected 0
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 status 1524773896754102272
PARAM_VALUE 3 change 8629129011395903488
BUF_SIZE 0 hub s32min-(-2),1-s32max
BUF_SIZE 0 hub s32min-(-2),1-s32max
DATA_SOURCE 0 hub r usb_hub_to_struct_hub
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &hdev->dev.mutex
LOCK2 &of->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 check_port_resume_type() -> usb_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->child_usage_bits 4096-ptr_max
PARAM_VALUE 0 hub->hdev 4096-ptr_max
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 port1 0-255
BUF_SIZE 0 hub s32min-(-1),1-s32max
BUF_SIZE 0 hub s32min-(-1),1-s32max
DATA_SOURCE 0 hub $1
DATA_SOURCE 1 port1 $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 check_ports_changed() -> usb_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->hdev 4096-ptr_max
PARAM_VALUE 0 hub->hdev->do_remote_wakeup 1
PARAM_VALUE 0 hub->hdev->maxchild 1-s32max
PARAM_VALUE 0 hub->quirk_check_port_auto_suspend 1
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 status 4099582920008355840
PARAM_VALUE 3 change 5810657218702319616
BUF_SIZE 0 hub s32min-(-2),1-s32max
BUF_SIZE 0 hub s32min-(-2),1-s32max
CAPPED_DATA 1 port1 1
DATA_SOURCE 0 hub $0
PARAM_COMPARE 0 hub->hdev->maxchild >= $1
PARAM_COMPARE 1 port1 <= $0->hdev->maxchild
CONSTRAINT 1 port1 <=3318
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hub unit_byte
UNITS 1 port1 unit_array_size

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

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->hdev->maxchild 1-s32max
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 status 6752643431575179264
PARAM_VALUE 2 *status 0
PARAM_VALUE 3 change 1990462838022295552
PARAM_VALUE 3 *change 0
BUF_SIZE 0 hub s32min-(-1),1-s32max
BUF_SIZE 0 hub s32min-(-1),1-s32max
CAPPED_DATA 1 port1 1
DATA_SOURCE 0 hub $0
CONSTRAINT 1 port1 <=3318
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hub unit_byte
UNITS 1 port1 unit_array_size
HALF_LOCKED2 &hdev->dev.mutex

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

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->hdev 4096-ptr_max
PARAM_VALUE 0 hub->hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 0 *hub->hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 0-s32max
PARAM_VALUE 2 status 262215469344178176
PARAM_VALUE 3 change 8321583529313718272
BUF_SIZE 0 hub s32min-(-1),1-s32max
BUF_SIZE 0 hub s32min-(-1),1-s32max
CAPPED_DATA 1 port1 1
DATA_SOURCE 0 hub $0
DATA_SOURCE 1 port1 $1
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_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->change_bits 4096-ptr_max
PARAM_VALUE 0 hub->event_bits 4096-ptr_max
PARAM_VALUE 0 hub->hdev 4096-ptr_max
PARAM_VALUE 0 hub->hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 0 hub->hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hub->hdev->parent->bus->sysdev->iommu->attach_deferred 0-1
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 hub->status_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 hub->wakeup_bits 4096-ptr_max
PARAM_VALUE 0 *hub->hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 status 370601401603629056
PARAM_VALUE 3 change 4746237012815220736
CAPPED_DATA 1 port1 1
DATA_SOURCE 0 hub $0
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
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_reset() -> usb_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->change_bits 4096-ptr_max
PARAM_VALUE 0 hub->event_bits 4096-ptr_max
PARAM_VALUE 0 hub->hdev 4096-ptr_max
PARAM_VALUE 0 hub->hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 0 hub->hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hub->hdev->parent->bus->sysdev->iommu->attach_deferred 0-1
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 hub->status_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 hub->wakeup_bits 4096-ptr_max
PARAM_VALUE 0 hub->warm_reset_bits 4096-ptr_max
PARAM_VALUE 0 *hub->hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 status 370601401603629056
PARAM_VALUE 3 change 4746237012815220736
CAPPED_DATA 1 port1 1
DATA_SOURCE 0 hub $0
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
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_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->change_bits 4096-ptr_max
PARAM_VALUE 0 hub->event_bits 4096-ptr_max
PARAM_VALUE 0 hub->hdev 4096-ptr_max
PARAM_VALUE 0 hub->hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 0 hub->hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 hub->status_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 hub->wakeup_bits 4096-ptr_max
PARAM_VALUE 0 hub->warm_reset_bits 4096-ptr_max
PARAM_VALUE 0 *hub->hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 status 4876444857222381568
PARAM_VALUE 3 change 6692885904152817664
CAPPED_DATA 0 hub->hdev->maxchild 1
CAPPED_DATA 1 port1 1
DATA_SOURCE 0 hub $0
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
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 port_event() -> usb_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->change_bits 4096-ptr_max
PARAM_VALUE 0 hub->event_bits 4096-ptr_max
PARAM_VALUE 0 hub->hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 0 hub->wakeup_bits 4096-ptr_max
PARAM_VALUE 0 *hub->hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 status 3934007673575665664
PARAM_VALUE 3 change 1324648876758347776
CAPPED_DATA 1 port1 1
DATA_SOURCE 0 hub $0
DATA_SOURCE 1 port1 $1
CONSTRAINT 1 port1 <=3318
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_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->change_bits 4096-ptr_max
PARAM_VALUE 0 hub->event_bits 4096-ptr_max
PARAM_VALUE 0 hub->hdev 4096-ptr_max
PARAM_VALUE 0 hub->hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hub->hdev->maxchild s32min-2147483646
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 hub->status_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 hub->wakeup_bits 4096-ptr_max
PARAM_VALUE 0 *hub->hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 status 2502200936608866304
PARAM_VALUE 2 *status 0
PARAM_VALUE 3 change 44146378137116672
CAPPED_DATA 0 hub->hdev->maxchild 1
CAPPED_DATA 1 port1 1
DATA_SOURCE 0 hub $0
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_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->change_bits 4096-ptr_max
PARAM_VALUE 0 hub->event_bits 4096-ptr_max
PARAM_VALUE 0 hub->hdev 4096-ptr_max
PARAM_VALUE 0 hub->hdev->descriptor.bDeviceProtocol 3
PARAM_VALUE 0 hub->hdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 hub->status_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 hub->wakeup_bits 4096-ptr_max
PARAM_VALUE 0 *hub->hdev->toggle 0-4294967295
PARAM_VALUE 1 port1 1-s32max
PARAM_VALUE 2 status 3934007673575665664
PARAM_VALUE 3 change 44146378137116672
CAPPED_DATA 1 port1 1
DATA_SOURCE 0 hub $0
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_port_resume() -> usb_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->child_usage_bits 4096-ptr_max
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 status 2093267640925974528
PARAM_VALUE 3 change 7243248084955475968
BUF_SIZE 0 hub s32min-(-1),1-s32max
BUF_SIZE 0 hub s32min-(-1),1-s32max
DATA_SOURCE 0 hub r usb_hub_to_struct_hub
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_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->child_usage_bits 4096-ptr_max
PARAM_VALUE 0 hub->hdev 4096-ptr_max
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 hub->status_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 status 2093267640925974528
PARAM_VALUE 3 change 7243248084955475968
BUF_SIZE 0 hub s32min-(-1),1-s32max
BUF_SIZE 0 hub s32min-(-1),1-s32max
DATA_SOURCE 0 hub r usb_hub_to_struct_hub
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_suspend() -> usb_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->hdev 4096-ptr_max
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 status 1088053569972584448
PARAM_VALUE 2 *status 0
PARAM_VALUE 3 change 3112665011815485440
PARAM_VALUE 3 *change 0
BUF_SIZE 0 hub s32min-(-1),1-s32max
BUF_SIZE 0 hub s32min-(-1),1-s32max
DATA_SOURCE 0 hub r usb_hub_to_struct_hub
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 wait_for_connected() -> usb_hub_port_status()

Type Parameter Key Value
PARAM_VALUE 0 hub 4096-ptr_max
PARAM_VALUE 0 hub->child_usage_bits 4096-ptr_max
PARAM_VALUE 0 hub->hdev 4096-ptr_max
PARAM_VALUE 0 hub->ports 4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 hub->status_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 hub->status_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 port1 0-255
PARAM_VALUE 2 status 2093267640925974528
PARAM_VALUE 2 *status 256-u16max
PARAM_VALUE 3 change 7243248084955475968
BUF_SIZE 0 hub s32min-(-1),1-s32max
BUF_SIZE 0 hub s32min-(-1),1-s32max
DATA_SOURCE 0 hub $1
DATA_SOURCE 1 port1 $2
DATA_SOURCE 2 status $4
DATA_SOURCE 3 change $3
BIT_INFO 2 *status 0x0,0xfffe
RX_PATH
TASK_NOT_RUNNING
UNITS 1 port1 unit_array_size
LOCK2 &port_dev->status_lock
TYPE_LOCK (struct usb_port)->status_lock