pcie: Fix incorrect write to the ari capability next function field
authorKnut Omang <knut.omang@oracle.com>
Sun, 24 Aug 2014 13:32:17 +0000 (15:32 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Sun, 24 Aug 2014 22:16:06 +0000 (00:16 +0200)
PCI_ARI_CAP_NFN, a macro for reading next function was used instead of
the intended write.

Signed-off-by: Knut Omang <knut.omang@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/pci/pcie.c

index a123c01..de0e967 100644 (file)
@@ -630,5 +630,5 @@ void pcie_ari_init(PCIDevice *dev, uint16_t offset, uint16_t nextfn)
 {
     pcie_add_capability(dev, PCI_EXT_CAP_ID_ARI, PCI_ARI_VER,
                         offset, PCI_ARI_SIZEOF);
-    pci_set_long(dev->config + offset + PCI_ARI_CAP, PCI_ARI_CAP_NFN(nextfn));
+    pci_set_long(dev->config + offset + PCI_ARI_CAP, (nextfn & 0xff) << 8);
 }