From 2729eee3b942ecd93976194bfe327c20db487395 Mon Sep 17 00:00:00 2001 From: leiqi96 Date: Thu, 5 Sep 2019 19:19:35 +0800 Subject: [PATCH] [Fix] ivshmem does not support for interrupts when it is plain mode --- kernel_module/uio/uio_ivshmem.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kernel_module/uio/uio_ivshmem.c b/kernel_module/uio/uio_ivshmem.c index 63504ce..4abce32 100644 --- a/kernel_module/uio/uio_ivshmem.c +++ b/kernel_module/uio/uio_ivshmem.c @@ -180,7 +180,12 @@ static int ivshmem_pci_probe(struct pci_dev *dev, if (request_msix_vectors(ivshmem_info, nvectors) != 0) { printk(KERN_INFO "regular IRQs\n"); - info->irq = dev->irq; + if (dev->pin) { + info->irq = dev->irq; + }else{ + printk(KERN_INFO "No IRQ assigned to device: no support for interrupts?\n"); + info->irq = -1; + } info->irq_flags = IRQF_SHARED; info->handler = ivshmem_handler; writel(0xffffffff, info->mem[0].internal_addr + IntrMask);