mirror of
https://github.com/reactos/reactos.git
synced 2024-11-18 21:13:52 +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;
|
||||
}
|
||||
|
||||
*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)
|
||||
? (NewValue.Bar & PCI_ADDRESS_IO_ADDRESS_MASK_64)
|
||||
|
|
Loading…
Reference in a new issue