From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kirill A. Korinsky" Subject: [PATCH] Fix VMware emulated e1000 doesn't support INTX_DISABLE flag Date: Sun, 27 Sep 2015 12:51:06 +0400 Message-ID: <1443343866-363-1-git-send-email-kirill@korins.ky> Mime-Version: 1.0 Content-Type: text/plain To: Return-path: Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sg2apc01on0107.outbound.protection.outlook.com [104.47.125.107]) by dpdk.org (Postfix) with ESMTP id C152D5947 for ; Sun, 27 Sep 2015 10:52:07 +0200 (CEST) List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" When you try to run any DPDK-app in VMWare with e1000/82545EM NIC you have a lot of lines like: EAL: Error reading from file descriptor 9: Input/output error The reason of this error is bad INTX emulation in VMWare and pci_intx_mask_supported return false every time. --- lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c index 865a276..c85f7e5 100644 --- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c +++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c @@ -36,6 +36,7 @@ #ifdef CONFIG_XEN_DOM0 #include #endif +#include #include #include "compat.h" @@ -508,7 +509,8 @@ igbuio_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) } /* fall back to INTX */ case RTE_INTR_MODE_LEGACY: - if (pci_intx_mask_supported(dev)) { + /* VMware emulated e1000 doesn't support INTX_DISABLE flag */ + if (pci_intx_mask_supported(dev) || x86_hyper == &x86_hyper_vmware) { dev_dbg(&dev->dev, "using INTX"); udev->info.irq_flags = IRQF_SHARED; udev->info.irq = dev->irq; -- 2.5.3