|
@@ -216,14 +216,17 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
|
|
|
res->flags |= IORESOURCE_SIZEALIGN;
|
|
|
if (res->flags & IORESOURCE_IO) {
|
|
|
l &= PCI_BASE_ADDRESS_IO_MASK;
|
|
|
+ sz &= PCI_BASE_ADDRESS_IO_MASK;
|
|
|
mask = PCI_BASE_ADDRESS_IO_MASK & (u32) IO_SPACE_LIMIT;
|
|
|
} else {
|
|
|
l &= PCI_BASE_ADDRESS_MEM_MASK;
|
|
|
+ sz &= PCI_BASE_ADDRESS_MEM_MASK;
|
|
|
mask = (u32)PCI_BASE_ADDRESS_MEM_MASK;
|
|
|
}
|
|
|
} else {
|
|
|
res->flags |= (l & IORESOURCE_ROM_ENABLE);
|
|
|
l &= PCI_ROM_ADDRESS_MASK;
|
|
|
+ sz &= PCI_ROM_ADDRESS_MASK;
|
|
|
mask = (u32)PCI_ROM_ADDRESS_MASK;
|
|
|
}
|
|
|
|