Patchwork [stable-0.15,04/36] e1000: Don't set the Capabilities List bit

mail settings
Submitter Andreas Färber
Date March 28, 2012, 12:52 p.m.
Message ID <>
Download mbox | patch
Permalink /patch/149217/
State New
Headers show


Andreas Färber - March 28, 2012, 12:52 p.m.
From: dann frazier <>

[Originally sent to qemu-kvm list, but I was redirected here]

The Capabilities Pointer is NULL, so this bit shouldn't be set. The state of
this bit doesn't appear to change any behavior on Linux/Windows versions we've
tested, but it does cause Windows' PCI/PCI Express Compliance Test to balk.

I happen to have a physical 82540EM controller, and it also sets the
Capabilities Bit, but it actually has items on the capabilities list to go
with it :)

Signed-off-by: dann frazier <>
Signed-off-by: Anthony Liguori <>
(cherry picked from commit dd8e93799f13ef82d83c185b8e71e049452f7d40)

Signed-off-by: Andreas Färber <>
 hw/e1000.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)


diff --git a/hw/e1000.c b/hw/e1000.c
index e4d9ab5..7971457 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -1167,8 +1167,6 @@  static int pci_e1000_init(PCIDevice *pci_dev)
     pci_conf = d->dev.config;
-    /* TODO: we have no capabilities, so why is this bit set? */
-    pci_set_word(pci_conf + PCI_STATUS, PCI_STATUS_CAP_LIST);
     /* TODO: RST# value should be 0, PCI spec 6.2.4 */
     pci_conf[PCI_CACHE_LINE_SIZE] = 0x10;