mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 00:45:24 +00:00
[PCI]
Fix a port base adddress decoding bug. Port base addresses were always decoded like memory base addresses. Because of this bug, a device could have two port address ranges starting at the same base address but with different lengths. svn path=/trunk/; revision=75981
This commit is contained in:
parent
64bf415133
commit
3ebd207ba1
1 changed files with 3 additions and 1 deletions
|
@ -355,7 +355,9 @@ PdoGetRangeLength(PPDO_DEVICE_EXTENSION DeviceExtension,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
*Base = OriginalValue.Bar & PCI_ADDRESS_MEMORY_ADDRESS_MASK_64;
|
*Base = ((OriginalValue.Bar & PCI_ADDRESS_IO_SPACE)
|
||||||
|
? (OriginalValue.Bar & PCI_ADDRESS_IO_ADDRESS_MASK_64)
|
||||||
|
: (OriginalValue.Bar & PCI_ADDRESS_MEMORY_ADDRESS_MASK_64));
|
||||||
|
|
||||||
*Length = ~((NewValue.Bar & PCI_ADDRESS_IO_SPACE)
|
*Length = ~((NewValue.Bar & PCI_ADDRESS_IO_SPACE)
|
||||||
? (NewValue.Bar & PCI_ADDRESS_IO_ADDRESS_MASK_64)
|
? (NewValue.Bar & PCI_ADDRESS_IO_ADDRESS_MASK_64)
|
||||||
|
|
Loading…
Reference in a new issue