Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/tty/serial/jsm/jsm_tty.c jsm_input() -> jsm_check_queue_flow_control()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->ch_bd 1-u64max
PARAM_VALUE 0 ch->ch_e_head 0-8191
PARAM_VALUE 0 ch->ch_flags 0,512-u32max
PARAM_VALUE 0 ch->ch_neo_uart 4096-ptr_max
PARAM_VALUE 0 ch->ch_r_head 0-8191
CAPPED_DATA 0 ch->ch_r_head 1
DATA_SOURCE 0 ch $0
BIT_INFO 0 ch->ch_cached_lsr 0x0,0xfe
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 ch->ch_cached_lsr 0-255
HOST_DATA 0 ch->ch_e_head 0-11[c]
LOCK2 &brd->bd_intr_lock
LOCK2 lock_flags
LOCK2 lock_flags
LOCK2 0 &ch->ch_lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct jsm_board)->bd_intr_lock
TYPE_LOCK (struct jsm_channel)->ch_lock

drivers/tty/serial/jsm/jsm_tty.c jsm_input() -> jsm_check_queue_flow_control()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->ch_bd 1-u64max
PARAM_VALUE 0 ch->ch_e_head 0-8191
PARAM_VALUE 0 ch->ch_e_tail 0-8191
PARAM_VALUE 0 ch->ch_flags 0,512-u32max
PARAM_VALUE 0 ch->ch_neo_uart 4096-ptr_max
PARAM_VALUE 0 ch->ch_r_head 0-8191
PARAM_VALUE 0 ch->ch_r_tail 0-8191
PARAM_VALUE 0 ch->uart_port.state->port.buf.tail 4096-ptr_max
PARAM_VALUE 0 ch->uart_port.state->port.buf.tail->next->size 0,256-u32max
PARAM_VALUE 0 ch->uart_port.state->port.buf.tail->size 0,256-u32max
PARAM_VALUE 0 ch->uart_port.state->port.buf.tail->used 0-2
CAPPED_DATA 0 ch->ch_e_tail 1
CAPPED_DATA 0 ch->ch_r_tail 1
DATA_SOURCE 0 ch $0
BIT_INFO 0 ch->ch_cached_lsr 0x0,0xfe
BIT_INFO 0 ch->ch_flags 0x0,0xfffffffb
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 ch->ch_cached_lsr 0-255
HOST_DATA 0 ch->ch_e_head 0-11[c]
HOST_DATA 0 ch->ch_e_tail 0-8191[c]
HOST_DATA 0 ch->ch_r_head 0-11[c]
HOST_DATA 0 ch->ch_r_tail 0-8191[c]
LOCK2 &brd->bd_intr_lock
LOCK2 lock_flags
LOCK2 lock_flags
LOCK2 0 &ch->ch_lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct jsm_board)->bd_intr_lock
TYPE_LOCK (struct jsm_channel)->ch_lock

drivers/tty/serial/jsm/jsm_cls.c cls_parse_isr() -> jsm_check_queue_flow_control()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->ch_cached_lsr 0
PARAM_VALUE 0 ch->ch_cls_uart 4096-ptr_max
PARAM_VALUE 0 ch->ch_e_head 0-8191
PARAM_VALUE 0 ch->ch_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ch->ch_r_head 0-8191
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &brd->bd_intr_lock
LOCK2 lock_flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct jsm_board)->bd_intr_lock

drivers/tty/serial/jsm/jsm_neo.c neo_intr() -> jsm_check_queue_flow_control()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->ch_e_head 0-8191
PARAM_VALUE 0 ch->ch_neo_uart 4096-ptr_max
PARAM_VALUE 0 ch->ch_r_head 0-8191
PARAM_VALUE 0 ch->uart_port.state 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &brd->bd_intr_lock
LOCK2 lock_flags
LOCK2 lock_flags2
LOCK2 0 &ch->ch_lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags
TYPE_LOCK (struct jsm_board)->bd_intr_lock
TYPE_LOCK (struct jsm_channel)->ch_lock

drivers/tty/serial/jsm/jsm_neo.c neo_parse_isr() -> jsm_check_queue_flow_control()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->ch_e_head 0-8191
PARAM_VALUE 0 ch->ch_neo_uart 4096-ptr_max
PARAM_VALUE 0 ch->ch_r_head 0-8191
PARAM_VALUE 0 ch->uart_port.state 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 ch->ch_cached_lsr 0-255
HOST_DATA 0 ch->ch_e_head 0-11[c]
HOST_DATA 0 ch->ch_e_tail 0-8191[c]
HOST_DATA 0 ch->ch_r_head 0-11[c]
HOST_DATA 0 ch->ch_r_tail 0-8191[c]
LOCK2 &brd->bd_intr_lock
LOCK2 lock_flags
LOCK2 lock_flags
LOCK2 0 &ch->ch_lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct jsm_board)->bd_intr_lock
TYPE_LOCK (struct jsm_channel)->ch_lock

drivers/tty/serial/jsm/jsm_neo.c neo_parse_lsr() -> jsm_check_queue_flow_control()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->ch_e_head 0-8191
PARAM_VALUE 0 ch->ch_e_tail 0-8191
PARAM_VALUE 0 ch->ch_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ch->ch_neo_uart 4096-ptr_max
PARAM_VALUE 0 ch->ch_r_head 0-8191
PARAM_VALUE 0 ch->ch_r_tail 0-8191
PARAM_VALUE 0 ch->ch_stops_sent 0-6
PARAM_VALUE 0 ch->uart_port.state 4096-ptr_max
PARAM_VALUE 0 ch->uart_port.state->port.buf.tail 4096-ptr_max
PARAM_VALUE 0 ch->uart_port.state->port.buf.tail->next->size 0,256-u32max
PARAM_VALUE 0 ch->uart_port.state->port.buf.tail->size 0,256-u32max
PARAM_VALUE 0 ch->uart_port.state->port.buf.tail->used 0-2
PARAM_VALUE 0 ch->uart_port.state->port.buf.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 *ch->ch_equeue 0,2-254
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 ch->ch_cached_lsr 0-255
HOST_DATA 0 ch->ch_e_head 0-11[c]
HOST_DATA 0 ch->ch_e_tail 0-8191[c]
HOST_DATA 0 ch->ch_r_head 0-11[c]
HOST_DATA 0 ch->ch_r_tail 0-8191[c]
LOCK2 &brd->bd_intr_lock
LOCK2 lock_flags
LOCK2 lock_flags
LOCK2 0 &ch->ch_lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct jsm_board)->bd_intr_lock
TYPE_LOCK (struct jsm_channel)->ch_lock