Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 33 files:

Smatch caller information:

drivers/net/can/usb/usb_8dev.c usb_8dev_write_bulk_callback() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 2 frame_len_ptr 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/net/can/esd/esdacc.c handle_core_msg_rxtxdone() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev->priv->can.echo_skb 4096-ptr_max
PARAM_VALUE 2 frame_len_ptr 0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 idx unit_array_size
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags

drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c kvaser_usb_hydra_tx_acknowledge() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 2 frame_len_ptr 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &priv->tx_contexts_lock
LOCK2 irq_flags
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 irq_flags
HALF_LOCKED2 usb_rx_leftover_lock
TYPE_LOCK (struct kvaser_usb_net_priv)->tx_contexts_lock

drivers/net/can/grcan.c catch_up_echo_skb() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 2 frame_len_ptr 0
DATA_SOURCE 0 dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &priv->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/spi/mcp251x.c mcp251x_can_ist() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 1 idx 0
PARAM_VALUE 2 frame_len_ptr 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &priv->mcp_lock
TYPE_LOCK (struct mcp251x_priv)->mcp_lock

drivers/net/can/virtio_can.c virtio_can_read_tx_queue() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 2 frame_len_ptr 0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 idx 0-u32max
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c kvaser_usb_leaf_tx_acknowledge() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 2 frame_len_ptr 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &priv->tx_contexts_lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kvaser_usb_net_priv)->tx_contexts_lock

drivers/net/can/spi/hi311x.c hi3110_can_ist() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 idx 0
PARAM_VALUE 2 frame_len_ptr 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &priv->hi3110_lock
TYPE_LOCK (struct hi3110_priv)->hi3110_lock

drivers/net/can/m_can/m_can.c m_can_tx_update_stats() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 2 frame_len_ptr 3320175778102853632
DATA_SOURCE 1 idx $1
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 idx 0-u32max[c]

drivers/net/can/usb/ucan.c ucan_tx_complete_msg() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 idx 0-254
PARAM_VALUE 2 frame_len_ptr 0
CAPPED_DATA 1 idx 1
CONSTRAINT 1 idx <3677
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 idx unit_array_size
LOCK2 &up->echo_skb_lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ucan_priv)->echo_skb_lock

drivers/net/can/sja1000/sja1000.c sja1000_interrupt() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 1 idx 0
PARAM_VALUE 2 frame_len_ptr 0
DATA_SOURCE 0 dev $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags

drivers/net/can/sun4i_can.c sun4i_can_interrupt() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 1 idx 0
PARAM_VALUE 2 frame_len_ptr 0
DATA_SOURCE 0 dev $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags

drivers/net/can/bxcan.c bxcan_tx_isr() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 1 idx 0-255
PARAM_VALUE 2 frame_len_ptr 0
DATA_SOURCE 0 dev $1
DATA_SOURCE 1 idx r bxcan_get_tx_tail
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags

drivers/net/can/usb/etas_es58x/es58x_core.c es58x_can_get_echo_skb() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 idx 0-255
PARAM_VALUE 2 frame_len_ptr 1244638506619822080
PARAM_VALUE 2 *frame_len_ptr 0
CAPPED_DATA 1 idx 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/net/can/dummy_can.c dummy_can_start_xmit() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 1 idx 0
PARAM_VALUE 2 frame_len_ptr 0
DATA_SOURCE 0 dev $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->proto_down
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/net/can/usb/mcba_usb.c mcba_usb_write_bulk_callback() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 2 frame_len_ptr 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/net/can/at91_can.c at91_irq_tx() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 2 frame_len_ptr 0
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/net/can/usb/esd_usb.c esd_usb_tx_done_msg() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 2 frame_len_ptr 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/net/can/kvaser_pciefd/kvaser_pciefd_core.c kvaser_pciefd_handle_ack_packet() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 1 idx 0-255
PARAM_VALUE 2 frame_len_ptr 8123101313847631872
PARAM_VALUE 2 *frame_len_ptr 0
CAPPED_DATA 1 idx 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags

drivers/net/can/usb/peak_usb/pcan_usb_core.c peak_usb_write_bulk_callback() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 2 frame_len_ptr 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/net/can/usb/f81604.c f81604_handle_tx() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 1 idx 0
PARAM_VALUE 2 frame_len_ptr 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/net/can/softing/softing_main.c softing_handle_1() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->priv->can.echo_skb 4096-ptr_max
PARAM_VALUE 2 frame_len_ptr 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &card->spin
LOCK2 bh
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq
TYPE_LOCK (struct softing)->spin

drivers/net/can/ctucanfd/ctucanfd_base.c ctucan_tx_interrupt() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev->priv->read_reg 4096-ptr_max
PARAM_VALUE 2 frame_len_ptr 0
CAPPED_DATA 1 idx 1
DATA_SOURCE 0 dev $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 idx unit_array_size
LOCK2 &priv->tx_lock
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct ctucan_priv)->tx_lock

drivers/net/can/cc770/cc770.c cc770_tx_interrupt() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev->priv->can.state 0-3,5-4294967295
PARAM_VALUE 0 dev->priv->tx_skb 1-u64max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 1 idx 0
PARAM_VALUE 2 frame_len_ptr 0
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/net/can/c_can/c_can_main.c c_can_do_tx() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 2 frame_len_ptr 0
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
UNITS 1 idx unit_array_size
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/can/xilinx_can.c xcan_tx_interrupt() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 2 frame_len_ptr 0
CAPPED_DATA 1 idx 1
DATA_SOURCE 0 dev $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &priv->tx_lock
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct xcan_priv)->tx_lock

drivers/net/can/peak_canfd/peak_canfd.c pucan_handle_can_rx() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 2 frame_len_ptr 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &priv->echo_lock
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct peak_canfd_priv)->echo_lock

drivers/net/can/rcar/rcar_canfd.c rcar_canfd_tx_done() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 2 frame_len_ptr 0
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags

drivers/net/can/usb/ems_usb.c ems_usb_write_bulk_callback() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 2 frame_len_ptr 0
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 idx unit_byte
HALF_LOCKED2 &pool->lock

drivers/net/can/rcar/rcar_can.c rcar_can_tx_done() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 0 dev->priv->regs 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 1 idx 0-3
PARAM_VALUE 2 frame_len_ptr 0
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/net/can/ifi_canfd/ifi_canfd.c ifi_canfd_isr() -> can_get_echo_skb()

Type Parameter Key Value
PARAM_VALUE 1 idx 0
PARAM_VALUE 2 frame_len_ptr 0
DATA_SOURCE 0 dev $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags