x86/msi: fix inverted masks in c/s 22182:68cc3c514a0a
authorKeir Fraser <keir@xen.org>
Mon, 18 Oct 2010 10:31:47 +0000 (11:31 +0100)
committerKeir Fraser <keir@xen.org>
Mon, 18 Oct 2010 10:31:47 +0000 (11:31 +0100)
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/msi.c

index bcb85c1c8c42334c45ee9a85d1d4bc5956a717c3..2b8f94c993e2b09ca9167b54074537f32ae61953 100644 (file)
@@ -549,14 +549,14 @@ static u64 read_pci_mem_bar(u8 bus, u8 slot, u8 func, u8 bir)
         return 0;
     if ( (addr & PCI_BASE_ADDRESS_MEM_TYPE_MASK) == PCI_BASE_ADDRESS_MEM_TYPE_64 )
     {
-        addr &= ~PCI_BASE_ADDRESS_MEM_MASK;
+        addr &= PCI_BASE_ADDRESS_MEM_MASK;
         if ( ++bir >= limit )
             return 0;
         return addr |
                ((u64)pci_conf_read32(bus, slot, func,
                                      PCI_BASE_ADDRESS_0 + bir * 4) << 32);
     }
-    return addr & ~PCI_BASE_ADDRESS_MEM_MASK;
+    return addr & PCI_BASE_ADDRESS_MEM_MASK;
 }
 
 /**