Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/can/grcan.c grcan_err() -> grcan_txspace()

Type Parameter Key Value
PARAM_VALUE 2 eskbp 0-4294967295
DATA_SOURCE 1 txwr r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 txwr 0-u32max
UNITS 0 txsize unit_array_size
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_txspace()

Type Parameter Key Value
DATA_SOURCE 1 txwr r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 txwr 0-u32max
UNITS 0 txsize unit_array_size
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_start_xmit() -> grcan_txspace()

Type Parameter Key Value
DATA_SOURCE 1 txwr r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 txwr 0-u32max
UNITS 0 txsize unit_array_size
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_txbug_workaround() -> grcan_txspace()

Type Parameter Key Value
DATA_SOURCE 1 txwr $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 txwr 0-u32max
UNITS 0 txsize unit_array_size
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct grcan_priv)->lock