Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/usb/serial/io_edgeport.c edge_throttle() -> edge_write()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->disc_data 4096-ptr_max
PARAM_VALUE 0 tty->driver 4096-ptr_max
PARAM_VALUE 0 tty->driver->type 0-2,4-u32max
PARAM_VALUE 0 tty->driver_data 4096-ptr_max
PARAM_VALUE 0 tty->flow_change 1
PARAM_VALUE 0 tty->ops 4096-ptr_max
PARAM_VALUE 0 tty->ops->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->throttle 4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152
PARAM_VALUE 0 tty->receive_room 0-s32max
PARAM_VALUE 0 tty->termios.c_cc 4096-ptr_max
PARAM_VALUE 0 tty->termios.c_iflag 4096-u32max
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 port 4096-ptr_max
PARAM_VALUE 2 data 603551871614435328
PARAM_VALUE 3 count 1
BUF_SIZE 1 port s32min-(-2),1-s32max
BUF_SIZE 1 port s32min-(-2),1-s32max
DATA_SOURCE 0 tty $0
BIT_INFO 0 tty->termios.c_iflag 0x1000,0xffffffff
UNITS 1 port unit_byte
USER_PTR 0 tty->disc_data->priv->rx_skb->data
LOCK2 _T->lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->port->buf.lock

drivers/usb/serial/io_edgeport.c edge_unthrottle() -> edge_write()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->driver_data 4096-ptr_max
PARAM_VALUE 0 tty->ops 4096-ptr_max
PARAM_VALUE 0 tty->ops->break_ctl 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->cleanup 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->close 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->compat_ioctl 0,1607379221601308672,5008286898947497984,6364353445524312064
PARAM_VALUE 0 tty->ops->flush_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->flush_chars 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->get_icount 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->get_serial 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->hangup 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->install 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->ioctl 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->ldisc_ok 0,6843386834578624512
PARAM_VALUE 0 tty->ops->lookup 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->open 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->poll_get_char 0,4172584550987694080,8810588628199956480
PARAM_VALUE 0 tty->ops->poll_init 0,1455831725284642816,7005422354281586688
PARAM_VALUE 0 tty->ops->poll_put_char 0,317088091350007808,4944462343817641984
PARAM_VALUE 0 tty->ops->proc_show 0,356236415985979392,5729891321464528896,9011853526131630080
PARAM_VALUE 0 tty->ops->put_char 0,46317935159074816,946511232463630336,5234932001147445248,6499862429192966144,7134038662404317184
PARAM_VALUE 0 tty->ops->remove 0,384629141214146560,3489019467251376128
PARAM_VALUE 0 tty->ops->resize 0,2815742157479378944,7598537204212207616
PARAM_VALUE 0 tty->ops->send_xchar 0,2462859047340216320,4708555404674125824,8710759130855649280
PARAM_VALUE 0 tty->ops->set_ldisc 0,1741587377620623360
PARAM_VALUE 0 tty->ops->set_serial 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->set_termios 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->show_fdinfo 0,5525676422896762880
PARAM_VALUE 0 tty->ops->shutdown 0,3518621193109893120,5469287042401259520
PARAM_VALUE 0 tty->ops->start 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->stop 0,550124932249174016,3234480389994364928,5153393563898503168,6441875407016759296,7334840043119542272
PARAM_VALUE 0 tty->ops->throttle 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->tiocmget 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->tiocmset 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->unthrottle 4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->write 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->write_room 0,4096-ptr_max
PARAM_VALUE 0 tty->termios.c_cc 4096-ptr_max
PARAM_VALUE 0 tty->termios.c_iflag 4096-u32max
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 port 4096-ptr_max
PARAM_VALUE 2 data 6322586333470306304
PARAM_VALUE 3 count 1
BUF_SIZE 0 tty (-1),1-s32max
BUF_SIZE 0 tty (-1),1-s32max
BUF_SIZE 1 port s32min-(-2),1-s32max
BUF_SIZE 1 port s32min-(-2),1-s32max
DATA_SOURCE 0 tty $0
BIT_INFO 0 tty->termios.c_iflag 0x1000,0xffffffff
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 tty->driver_data->d_fsdata
NO_OVERFLOW_SIMPLE 0 tty->driver_data->d_fsdata->d_fsdata
NO_OVERFLOW_SIMPLE 0 tty->name
UNITS 1 port unit_byte
USER_PTR 0 tty->disc_data->priv->rx_skb->data
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->legacy_mutex
HALF_LOCKED2 0 &tty->port->buf.lock
HALF_LOCKED2 0 &tty->termios_rwsem

drivers/usb/serial/io_ti.c edge_throttle() -> edge_write()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->disc_data 4096-ptr_max
PARAM_VALUE 0 tty->driver 4096-ptr_max
PARAM_VALUE 0 tty->driver->type 0-2,4-u32max
PARAM_VALUE 0 tty->driver_data 4096-ptr_max
PARAM_VALUE 0 tty->flow_change 1
PARAM_VALUE 0 tty->ops 4096-ptr_max
PARAM_VALUE 0 tty->ops->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->throttle 4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152
PARAM_VALUE 0 tty->receive_room 0-s32max
PARAM_VALUE 0 tty->termios.c_cc 4096-ptr_max
PARAM_VALUE 0 tty->termios.c_iflag 4096-u32max
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 port 4096-ptr_max
PARAM_VALUE 2 data 7257353003900878848
PARAM_VALUE 3 count 1
BUF_SIZE 1 port s32min-(-2),1-s32max
BUF_SIZE 1 port s32min-(-2),1-s32max
DATA_SOURCE 0 tty $0
BIT_INFO 0 tty->termios.c_iflag 0x1000,0xffffffff
UNITS 1 port unit_byte
USER_PTR 0 tty->disc_data->priv->rx_skb->data
LOCK2 _T->lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->port->buf.lock

drivers/usb/serial/io_ti.c edge_unthrottle() -> edge_write()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->driver_data 4096-ptr_max
PARAM_VALUE 0 tty->ops 4096-ptr_max
PARAM_VALUE 0 tty->ops->break_ctl 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->cleanup 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->close 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->compat_ioctl 0,1607379221601308672,5008286898947497984,6364353445524312064
PARAM_VALUE 0 tty->ops->flush_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->flush_chars 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->get_icount 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->get_serial 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->hangup 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->install 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->ioctl 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->ldisc_ok 0,6843386834578624512
PARAM_VALUE 0 tty->ops->lookup 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->open 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->poll_get_char 0,4172584550987694080,8810588628199956480
PARAM_VALUE 0 tty->ops->poll_init 0,1455831725284642816,7005422354281586688
PARAM_VALUE 0 tty->ops->poll_put_char 0,317088091350007808,4944462343817641984
PARAM_VALUE 0 tty->ops->proc_show 0,356236415985979392,5729891321464528896,9011853526131630080
PARAM_VALUE 0 tty->ops->put_char 0,46317935159074816,946511232463630336,5234932001147445248,6499862429192966144,7134038662404317184
PARAM_VALUE 0 tty->ops->remove 0,384629141214146560,3489019467251376128
PARAM_VALUE 0 tty->ops->resize 0,2815742157479378944,7598537204212207616
PARAM_VALUE 0 tty->ops->send_xchar 0,2462859047340216320,4708555404674125824,8710759130855649280
PARAM_VALUE 0 tty->ops->set_ldisc 0,1741587377620623360
PARAM_VALUE 0 tty->ops->set_serial 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->set_termios 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->show_fdinfo 0,5525676422896762880
PARAM_VALUE 0 tty->ops->shutdown 0,3518621193109893120,5469287042401259520
PARAM_VALUE 0 tty->ops->start 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->stop 0,550124932249174016,3234480389994364928,5153393563898503168,6441875407016759296,7334840043119542272
PARAM_VALUE 0 tty->ops->throttle 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->tiocmget 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->tiocmset 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->unthrottle 4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->write 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->write_room 0,4096-ptr_max
PARAM_VALUE 0 tty->termios.c_cc 4096-ptr_max
PARAM_VALUE 0 tty->termios.c_iflag 4096-u32max
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 port 4096-ptr_max
PARAM_VALUE 2 data 2475201890042322944
PARAM_VALUE 3 count 1
BUF_SIZE 0 tty (-1),1-s32max
BUF_SIZE 0 tty (-1),1-s32max
BUF_SIZE 1 port s32min-(-2),1-s32max
BUF_SIZE 1 port s32min-(-2),1-s32max
DATA_SOURCE 0 tty $0
BIT_INFO 0 tty->termios.c_iflag 0x1000,0xffffffff
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 tty->driver_data->d_fsdata
NO_OVERFLOW_SIMPLE 0 tty->driver_data->d_fsdata->d_fsdata
NO_OVERFLOW_SIMPLE 0 tty->name
UNITS 1 port unit_byte
USER_PTR 0 tty->disc_data->priv->rx_skb->data
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->legacy_mutex
HALF_LOCKED2 0 &tty->port->buf.lock
HALF_LOCKED2 0 &tty->termios_rwsem

drivers/usb/serial/usb-serial.c serial_write() -> (struct usb_serial_driver)->write()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->driver_data 4096-ptr_max
PARAM_VALUE 0 tty->link->termios_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 tty->link->termios_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 tty->ops 4096-ptr_max
PARAM_VALUE 0 tty->ops->break_ctl 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->cleanup 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->close 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->compat_ioctl 0,1607379221601308672,5008286898947497984,6364353445524312064
PARAM_VALUE 0 tty->ops->flush_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->flush_chars 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->get_icount 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->get_serial 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->hangup 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->install 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->ioctl 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->ldisc_ok 0,6843386834578624512
PARAM_VALUE 0 tty->ops->lookup 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->open 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->poll_get_char 0,4172584550987694080,8810588628199956480
PARAM_VALUE 0 tty->ops->poll_init 0,1455831725284642816,7005422354281586688
PARAM_VALUE 0 tty->ops->poll_put_char 0,317088091350007808,4944462343817641984
PARAM_VALUE 0 tty->ops->proc_show 0,356236415985979392,5729891321464528896,9011853526131630080
PARAM_VALUE 0 tty->ops->put_char 0,46317935159074816,946511232463630336,5234932001147445248,6499862429192966144,7134038662404317184
PARAM_VALUE 0 tty->ops->remove 0,384629141214146560,3489019467251376128
PARAM_VALUE 0 tty->ops->resize 0,2815742157479378944,7598537204212207616
PARAM_VALUE 0 tty->ops->send_xchar 0,2462859047340216320,4708555404674125824,8710759130855649280
PARAM_VALUE 0 tty->ops->set_ldisc 0,1741587377620623360
PARAM_VALUE 0 tty->ops->set_serial 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->set_termios 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->show_fdinfo 0,5525676422896762880
PARAM_VALUE 0 tty->ops->shutdown 0,3518621193109893120,5469287042401259520
PARAM_VALUE 0 tty->ops->start 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->stop 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->throttle 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->tiocmget 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->tiocmset 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->unthrottle 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->write 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->write_room 0,4096-ptr_max
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 port 4096-ptr_max
PARAM_VALUE 1 port->serial 4096-ptr_max
PARAM_VALUE 1 port->serial->dev 4096-ptr_max
PARAM_VALUE 1 port->serial->dev->state 1-u32max
PARAM_VALUE 1 port->serial->type 4096-ptr_max
BUF_SIZE 0 tty s32min,(-1),1-s32max
BUF_SIZE 0 tty s32min,(-1),1-s32max
BUF_SIZE 0 tty->disc_data (-1),16
BUF_SIZE 0 tty->ldisc (-1),4,16,24,64,168-s32max
BUF_SIZE 0 tty->port->itty (-1),8-s32max
BUF_SIZE 0 tty->write_buf (-1),1024-65536
BUF_SIZE 1 port s32min-(-2),1-s32max
BUF_SIZE 1 port s32min-(-2),1-s32max
BUF_SIZE 2 data s32min-(-1),1-s32max
BUF_SIZE 2 data s32min-(-1),1-s32max
CAPPED_DATA 0 tty 1
DATA_SOURCE 0 tty $0
DATA_SOURCE 2 data $1
DATA_SOURCE 3 count $2
STR_LEN 0 tty (-1)-18
STR_LEN 0 tty (-1)-18
CONTAINER 1 -328-8-0+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 3 count 0-s32max[c]
USER_DATA 0 tty->termios.c_cflag 0-u32max[c]
USER_DATA 0 tty->termios.c_iflag 0-u32max[c]
USER_DATA 0 tty->termios.c_ispeed 0-u32max
USER_DATA 0 tty->termios.c_lflag 0-u32max[c]
USER_DATA 0 tty->termios.c_line 0-255
USER_DATA 0 tty->termios.c_oflag 0-u32max[c]
USER_DATA 0 tty->termios.c_ospeed 0-u32max
USER_DATA 0 tty->write_cnt 1025-u16max[c]
USER_DATA 2 *data 0-255
USER_DATA 3 count 2-65543[c]
NO_OVERFLOW_SIMPLE 0 tty->driver_data->d_fsdata
NO_OVERFLOW_SIMPLE 0 tty->driver_data->d_fsdata->d_fsdata
NO_OVERFLOW_SIMPLE 0 tty->name
USER_PTR 0 tty->disc_data->priv->rx_skb->data
USER_PTR 0 tty->termios.c_cc
USER_PTR 2 data
HALF_LOCKED2 &ap->xmit_lock
HALF_LOCKED2 &component->io_mutex
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &elm->lock
HALF_LOCKED2 &gsm->tx_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &sl->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 global &spk_mutex
HALF_LOCKED2 0 &tty->atomic_write_lock
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->legacy_mutex
HALF_LOCKED2 0 &tty->port->buf.lock
HALF_LOCKED2 0 &tty->termios_rwsem

drivers/usb/serial/console.c usb_console_write() -> (struct usb_serial_driver)->write()

Type Parameter Key Value
PARAM_VALUE 0 tty 0
PARAM_VALUE 1 port 4096-ptr_max
PARAM_VALUE 1 port->port.console 1
PARAM_VALUE 1 port->serial 4096-ptr_max
PARAM_VALUE 1 port->serial->dev 4096-ptr_max
PARAM_VALUE 1 port->serial->dev->state 1-u32max
PARAM_VALUE 1 port->serial->type 4096-ptr_max
PARAM_VALUE 2 data 4096-ptr_max
BUF_SIZE 2 data (-1),1,7,85,256,512,2048
BUF_SIZE 2 data (-1),1,7,85,256,512,2048
DATA_SOURCE 2 data $1
STR_LEN 0 tty (-1),6
STR_LEN 2 data (-1),6
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags

drivers/usb/serial/console.c usb_console_write() -> (struct usb_serial_driver)->write()

Type Parameter Key Value
PARAM_VALUE 0 tty 0
PARAM_VALUE 1 port 4096-ptr_max
PARAM_VALUE 1 port->port.console 1
PARAM_VALUE 1 port->serial 4096-ptr_max
PARAM_VALUE 1 port->serial->dev 4096-ptr_max
PARAM_VALUE 1 port->serial->dev->state 1-u32max
PARAM_VALUE 1 port->serial->type 4096-ptr_max
PARAM_VALUE 2 data 4027444532710879232
PARAM_VALUE 2 *data 13
PARAM_VALUE 3 count 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags