[libvirt] [PATCH] pci: Fix building of 32bit PCI command array

Peter Krempa pkrempa at redhat.com
Wed Dec 5 11:03:21 UTC 2012


The pciWrite32 function assembled the array of data to be written to the
fd with a bad offset on the last byte. This issue was probably caused by
a typo (14, 24).
---
 src/util/pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/util/pci.c b/src/util/pci.c
index cf7722d..418c83d 100644
--- a/src/util/pci.c
+++ b/src/util/pci.c
@@ -268,7 +268,7 @@ pciWrite16(pciDevice *dev, int cfgfd, unsigned pos, uint16_t val)
 static void
 pciWrite32(pciDevice *dev, int cfgfd, unsigned pos, uint32_t val)
 {
-    uint8_t buf[4] = { (val >> 0), (val >> 8), (val >> 16), (val >> 14) };
+    uint8_t buf[4] = { (val >> 0), (val >> 8), (val >> 16), (val >> 24) };
     pciWrite(dev, cfgfd, pos, &buf[0], sizeof(buf));
 }

-- 
1.8.0




More information about the libvir-list mailing list