static void virtio_net_intr(message *m) { /* Check and clear interrupt flag */ if (virtio_had_irq(net_dev)) { virtio_net_check_queues(); } else { if (!spurious_interrupt) dput(("Spurious interrupt")); spurious_interrupt = 1; } virtio_net_check_pending(); virtio_irq_enable(net_dev); }
static void virtio_net_intr(unsigned int __unused mask) { /* Check and clear interrupt flag */ if (virtio_had_irq(net_dev)) { virtio_net_check_queues(); } else { if (!spurious_interrupt) dput(("Spurious interrupt")); spurious_interrupt = 1; } virtio_net_check_pending(); virtio_irq_enable(net_dev); /* Readd packets to the receive queue as necessary. */ virtio_net_refill_rx_queue(); }