Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/serial/generic.c usb_serial_generic_wait_until_sent() -> (struct usb_serial_driver)->tx_empty()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->serial 4096-ptr_max
PARAM_VALUE 0 port->serial->type 4096-ptr_max
BUF_SIZE 0 port s32min-(-2),1-s32max
BUF_SIZE 0 port s32min-(-2),1-s32max
CONTAINER 0 -400-8-0+0 $(-1)
TASK_NOT_RUNNING
LOCK2 &serial->disc_mutex
HALF_LOCKED2 &tty->atomic_write_lock
HALF_LOCKED2 &tty->driver_data->d_lockref.lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &tty->legacy_mutex
TYPE_LOCK (struct usb_serial)->disc_mutex

drivers/usb/serial/generic.c usb_serial_generic_wait_until_sent() -> (struct usb_serial_driver)->tx_empty()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->serial 4096-ptr_max
PARAM_VALUE 0 port->serial->type 4096-ptr_max
BUF_SIZE 0 port s32min-(-2),1-s32max
BUF_SIZE 0 port s32min-(-2),1-s32max
CONTAINER 0 -400-8-0+0 $(-1)
TASK_NOT_RUNNING
LOCK2 &serial->disc_mutex
HALF_LOCKED2 &tty->atomic_write_lock
HALF_LOCKED2 &tty->driver_data->d_lockref.lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &tty->legacy_mutex
TYPE_LOCK (struct usb_serial)->disc_mutex