qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] pcie: Fix bug in pcie_ext_cap_set_next


From: Knut Omang
Subject: [Qemu-devel] [PATCH] pcie: Fix bug in pcie_ext_cap_set_next
Date: Tue, 18 Dec 2012 22:36:29 +0100

Upper 16 bits of the PCIe Extended Capability Header was truncated during 
update,
also breaking pcie_add_capability.

Signed-off-by: Knut Omang <address@hidden>
---
 hw/pcie.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/pcie.c b/hw/pcie.c
index 7c92f19..fa260af 100644
--- a/hw/pcie.c
+++ b/hw/pcie.c
@@ -494,7 +494,7 @@ uint16_t pcie_find_capability(PCIDevice *dev, uint16_t 
cap_id)
 
 static void pcie_ext_cap_set_next(PCIDevice *dev, uint16_t pos, uint16_t next)
 {
-    uint16_t header = pci_get_long(dev->config + pos);
+    uint32_t header = pci_get_long(dev->config + pos);
     assert(!(next & (PCI_EXT_CAP_ALIGN - 1)));
     header = (header & ~PCI_EXT_CAP_NEXT_MASK) |
         ((next << PCI_EXT_CAP_NEXT_SHIFT) & PCI_EXT_CAP_NEXT_MASK);
-- 
1.7.11.7





reply via email to

[Prev in Thread] Current Thread [Next in Thread]