Alchemy: fix off by two error in __fixup_bigphys_addr()
PATCH 1/1 Alchemy: fix off by two error in __fixup_bigphys_addr()
he PCI specific code in this function doesn't check for the address range being under the upper bound of the PCI memory window correctly -- fix this, somewhat beautifying the code around the check, while at it...
Signed-off-by Sergei Shtylyov <[email protected]>
--- arch/mips/au1000/common/setup.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
arch/mips/au1000/common/setup.c +4 -5
@@ -137,12 +137,11 @@ phys_t __fixup_bigphys_addr(phys_t phys_#ifdef CONFIG_PCI { -u32 start, end; +u32 start = (u32 )Au1500_PCI_MEM_START; +u32 end = (u32 )Au1500_PCI_MEM_END; - start = (u32 )Au1500_PCI_MEM_START; - end = (u32 )Au1500_PCI_MEM_END; -/* check for pci memory window */ -if ((phys_addr >= start) && ((phys_addr + size) < end)) +/* Check for PCI memory window */ +if (phys_addr >= start && (phys_addr + size -1 ) <= end)return (phys_t) ((phys_addr - start) + Au1500_PCI_MEM_START); }
Ralf Baechle
AppliedQuoted 5 lines · Sergei Shtylyov
he PCI specific code in this function doesn't check for the address range being under the upper bound of the PCI memory window correctly -- fix this, somewhat beautifying the code around the check, while at it...
Signed-off-by Sergei Shtylyov <[email protected]>
Applied, too.
Thanks,
Ralf