Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/misc/legousbtower.c tower_poll() -> tower_check_for_read_packet()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->disconnected 0
PARAM_VALUE 0 dev->read_wait.head.next->next 4096-ptr_max
PARAM_VALUE 0 dev->read_wait.head.next->prev 4096-ptr_max
PARAM_VALUE 0 dev->read_wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 dev->read_wait.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 dev->read_wait.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dev->write_wait.head.next->next 4096-ptr_max
PARAM_VALUE 0 dev->write_wait.head.next->prev 4096-ptr_max
PARAM_VALUE 0 dev->write_wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 dev->write_wait.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 dev->write_wait.lock.rlock.dep_map->name 0-255
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu

drivers/usb/misc/legousbtower.c tower_read() -> tower_check_for_read_packet()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->disconnected 0
PARAM_VALUE 0 dev->lock.dep_map->name 0-255
PARAM_VALUE 0 dev->lock.first_waiter 0,4096-5159360019465732095,5159360019465732097-ptr_max
PARAM_VALUE 0 dev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->lock.wait_lock.owner (-1)
PARAM_VALUE 0 dev->lock.wait_lock.owner_cpu u32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
CAPPED_DATA 0 &dev->lock 1
NOCHECK_CALL
LOCK2 0 &dev->lock
TYPE_LOCK (struct lego_usb_tower)->lock

drivers/usb/misc/legousbtower.c tower_read() -> tower_check_for_read_packet()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->disconnected 0
PARAM_VALUE 0 dev->interrupt_in_done 0
PARAM_VALUE 0 dev->lock.dep_map->name 0-255
PARAM_VALUE 0 dev->lock.first_waiter 0,4096-5159360019465732095,5159360019465732097-ptr_max
PARAM_VALUE 0 dev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->lock.wait_lock.owner (-1)
PARAM_VALUE 0 dev->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 dev->read_buffer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dev->read_packet_length 0
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
CAPPED_DATA 0 &dev->lock 1
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &dev->lock
TYPE_LOCK (struct lego_usb_tower)->lock