Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 30 files:
- arch/um/drivers/virtio_pcidev.c
- drivers/block/virtio_blk.c, line 445
- drivers/bluetooth/virtio_bt.c
- drivers/char/hw_random/virtio-rng.c, line 67
- drivers/char/virtio_console.c
- drivers/crypto/virtio/virtio_crypto_akcipher_algs.c, line 258
- drivers/crypto/virtio/virtio_crypto_core.c, line 65
- drivers/crypto/virtio/virtio_crypto_skcipher_algs.c, line 450
- drivers/firmware/arm_scmi/transports/virtio.c
- drivers/gpio/gpio-virtio.c
- drivers/i2c/busses/i2c-virtio.c, line 158
- drivers/iommu/virtio-iommu.c
- drivers/misc/nsm.c, line 218
- drivers/net/can/virtio_can.c
- drivers/net/virtio_net.c, line 3579
- drivers/net/wireless/virtual/mac80211_hwsim_main.c
- drivers/nvdimm/nd_virtio.c, line 231
- drivers/rpmsg/virtio_rpmsg_bus.c
- drivers/scsi/virtio_scsi.c, line 249
- drivers/spi/spi-virtio.c, line 232
- drivers/virtio/virtio_balloon.c
- drivers/virtio/virtio_input.c
- drivers/virtio/virtio_mem.c, line 1411
- drivers/virtio/virtio_pci_modern.c, line 113
- drivers/virtio/virtio_ring.c
- net/9p/trans_virtio.c
- net/vmw_vsock/virtio_transport.c
- tools/virtio/vhost_net_test.c
- tools/virtio/virtio_test.c, line 212
- tools/virtio/vringh_test.c, line 412
Smatch caller information:
drivers/misc/nsm.c nsm_sendrecv_msg_locked() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &nsm->lock | ||
| TYPE_LOCK | (struct nsm)->lock |
net/9p/trans_virtio.c p9_virtio_request() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &chan->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &client->trans->sq_sem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &v9ses->rename_sem | ||
| TYPE_LOCK | (struct virtio_chan)->lock |
net/9p/trans_virtio.c p9_virtio_zc_request() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &chan->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct virtio_chan)->lock |
drivers/net/wireless/virtual/mac80211_hwsim_main.c fill_vq() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | vq | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/net/wireless/virtual/mac80211_hwsim_main.c hwsim_tx_virtio() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &hwsim_virtio_lock | ||
| HALF_LOCKED2 | &data->mutex |
drivers/net/wireless/virtual/mac80211_hwsim_main.c hwsim_virtio_rx_work() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &hwsim_virtio_lock | ||
| HALF_LOCKED2 | &pool->lock |
drivers/char/hw_random/virtio-rng.c request_entropy() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/crypto/virtio/virtio_crypto_akcipher_algs.c __virtio_crypto_akcipher_do_req() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &data_vq->lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct data_queue)->lock |
drivers/virtio/virtio_ring.c virtqueue_add_split() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 0 | vq->num_free | 1-2147483646 |
| NOCHECK_CALL |
drivers/net/can/virtio_can.c virtio_can_populate_rx_vq() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/net/can/virtio_can.c virtio_can_read_rx_queue() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 0 | vq->vdev | 4096-ptr_max |
| PARAM_VALUE | 0 | vq->vdev->priv | 4096-ptr_max |
| DATA_SOURCE | 0 | vq | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
drivers/net/can/virtio_can.c virtio_can_send_ctrl_msg() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | _T->lock | ||
| HALF_LOCKED2 | &ndev->ethtool->rss_lock | ||
| HALF_LOCKED2 | &ndev->lock |
drivers/net/can/virtio_can.c virtio_can_start_xmit() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &priv->tx_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &dev->tx_global_lock | ||
| HALF_LOCKED2 | &txq->_xmit_lock | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct virtio_can_priv)->tx_lock |
drivers/iommu/virtio-iommu.c __viommu_sync_req() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &viommu->request_lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct viommu_dev)->request_lock |
drivers/iommu/virtio-iommu.c viommu_event_handler() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 0 | vq->callback | 1-u64max |
| PARAM_VALUE | 0 | vq->vdev | 4096-ptr_max |
| DATA_SOURCE | 0 | vq | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
drivers/virtio/virtio_mem.c virtio_mem_send_request() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &vm->hotplug_mutex | ||
| HALF_LOCKED2 | global &vmcore_cb_srcu |
drivers/firmware/arm_scmi/transports/virtio.c scmi_vio_feed_vq_rx() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vioch->lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct scmi_vio_channel)->lock |
drivers/firmware/arm_scmi/transports/virtio.c virtio_send_message() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vioch->lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct scmi_vio_channel)->lock |
drivers/crypto/virtio/virtio_crypto_skcipher_algs.c __virtio_crypto_skcipher_do_req() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &data_vq->lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct data_queue)->lock |
drivers/gpio/gpio-virtio.c _virtio_gpio_req() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &line->lock | ||
| LOCK2 | &vgpio->lock | ||
| TYPE_LOCK | (struct virtio_gpio)->lock | ||
| TYPE_LOCK | (struct virtio_gpio_line)->lock |
drivers/gpio/gpio-virtio.c virtio_gpio_irq_prepare() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vgpio->eventq_lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct virtio_gpio)->eventq_lock |
drivers/scsi/virtio_scsi.c virtscsi_kick_event() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vscsi->event_vq.vq_lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct virtio_scsi_vq)->vq_lock |
net/vmw_vsock/virtio_transport.c virtio_transport_event_work() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | &vsock->event_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_vsock)->event_lock |
net/vmw_vsock/virtio_transport.c virtio_transport_send_pkt_work() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | &vsock->tx_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_vsock)->tx_lock |
net/vmw_vsock/virtio_transport.c virtio_transport_send_skb_fast_path() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vsock->tx_lock | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | sk | ||
| TYPE_LOCK | (struct virtio_vsock)->tx_lock |
net/vmw_vsock/virtio_transport.c virtio_vsock_event_fill() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vsock->event_lock | ||
| LOCK2 | global &the_virtio_vsock_mutex | ||
| TYPE_LOCK | (struct virtio_vsock)->event_lock |
net/vmw_vsock/virtio_transport.c virtio_vsock_rx_fill() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vsock->rx_lock | ||
| HALF_LOCKED2 | global &the_virtio_vsock_mutex | ||
| TYPE_LOCK | (struct virtio_vsock)->rx_lock |
drivers/crypto/virtio/virtio_crypto_core.c virtio_crypto_ctrl_vq_request() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vcrypto->ctrl_lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct virtio_crypto)->ctrl_lock |
drivers/virtio/virtio_balloon.c get_free_page_and_send() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 0 | vq->num_free | 2-u32max |
| FUZZY_MAX | 0 | vq->num_free | 2 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/virtio/virtio_balloon.c send_cmd_id_start() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/virtio/virtio_balloon.c send_cmd_id_stop() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/virtio/virtio_balloon.c setup_vqs() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/virtio/virtio_balloon.c stats_handle_request() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/virtio/virtio_balloon.c tell_host() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | vq | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vb->balloon_lock | ||
| TYPE_LOCK | (struct virtio_balloon)->balloon_lock |
drivers/virtio/virtio_balloon.c virtballoon_free_page_report() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/bluetooth/virtio_bt.c virtbt_open_vdev() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/bluetooth/virtio_bt.c virtbt_rx_work() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/bluetooth/virtio_bt.c virtbt_send_frame() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &hdev->req_lock |
drivers/virtio/virtio_pci_modern.c virtqueue_exec_admin_cmd() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 1-u64max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &admin_vq->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &migf->lock | ||
| HALF_LOCKED2 | &migf->virtvdev->state_mutex | ||
| HALF_LOCKED2 | &virtvdev->state_mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| TYPE_LOCK | (struct virtio_pci_admin_vq)->lock |
drivers/nvdimm/nd_virtio.c virtio_pmem_flush() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &vpmem->pmem_lock | ||
| LOCK2 | _T->lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct virtio_pmem)->pmem_lock |
drivers/char/virtio_console.c __send_control_msg() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &portdev->c_ovq_lock | ||
| TYPE_LOCK | (struct ports_device)->c_ovq_lock |
drivers/char/virtio_console.c __send_to_port() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &port->outvq_lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct port)->outvq_lock |
drivers/char/virtio_console.c add_inbuf() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | vq | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &port->inbuf_lock | ||
| HALF_LOCKED2 | &portdev->c_ivq_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | lock |
drivers/rpmsg/virtio_rpmsg_bus.c rpmsg_recv_done() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
drivers/rpmsg/virtio_rpmsg_bus.c rpmsg_send_offchannel_raw() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vrp->tx_lock | ||
| HALF_LOCKED2 | &eptdev->ept_lock | ||
| TYPE_LOCK | (struct virtproc_info)->tx_lock |
drivers/block/virtio_blk.c virtio_queue_rq() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
drivers/i2c/busses/i2c-virtio.c virtio_i2c_xfer() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
drivers/net/virtio_net.c virtnet_send_command_reply() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &vi->cvq_lock | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| TYPE_LOCK | (struct virtnet_info)->cvq_lock |
drivers/spi/spi-virtio.c virtio_spi_transfer_one() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &ctrl->io_mutex | ||
| HALF_LOCKED2 | &ctrl->dev.driver_data->op_lock | ||
| TYPE_LOCK | (struct spi_controller)->io_mutex |
drivers/virtio/virtio_input.c virtinput_fill_evt() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vi->lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct virtio_input)->lock |
drivers/virtio/virtio_input.c virtinput_recv_events() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 0 | vq->callback | 1-u64max |
| PARAM_VALUE | 0 | vq->vdev | 4096-ptr_max |
| PARAM_VALUE | 0 | vq->vdev->priv | 4096-ptr_max |
| DATA_SOURCE | 0 | vq | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vi->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct virtio_input)->lock |
drivers/virtio/virtio_input.c virtinput_send_status() -> virtqueue_kick()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vi->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &idev->event_lock | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct virtio_input)->lock |