[dpdk-dev] [PATCH] igb_uio: fix vmware e1000 input/output error

Qian Xu qian.q.xu at intel.com
Mon Mar 21 10:01:14 CET 2016


In vmware esxi 6.0, add the emulated e1000 device to guest, then
launch the VM, we will see the error meassage as below:

EAL: Error reading from file descriptor 21: Input/output error

INTX is badly emulated in Vmware, INTX toggle check didn't work
with Vmware e1000 device. The patch is to fix the issue. And the
patch is from http://dpdk.org/dev/patchwork/patch/945/, so Masaru
OKI is the author. Qian just updated the patch for latest code.

Signed-off-by: Masaru OKI<m-oki at stratosphere.co.jp>

diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
index 72b2692..f5e9aeb 100644
--- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
+++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
@@ -450,14 +450,11 @@ 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)) {
-			dev_dbg(&dev->dev, "using INTX");
-			udev->info.irq_flags = IRQF_SHARED;
-			udev->info.irq = dev->irq;
-			udev->mode = RTE_INTR_MODE_LEGACY;
-			break;
-		}
-		dev_notice(&dev->dev, "PCI INTX mask not supported\n");
+                dev_dbg(&dev->dev, "using INTX");
+                udev->info.irq_flags = IRQF_SHARED;
+                udev->info.irq = dev->irq;
+                udev->mode = RTE_INTR_MODE_LEGACY;
+                break;
 		/* fall back to no IRQ */
 	case RTE_INTR_MODE_NONE:
 		udev->mode = RTE_INTR_MODE_NONE;
-- 
2.1.0



More information about the dev mailing list