From: Sergei Shtylyov Date: Mon, 10 Dec 2007 17:36:50 +0000 (+0300) Subject: [MIPS] Alchemy: fix off by two error in __fixup_bigphys_addr() X-Git-Tag: v2.6.24-rc6~71^2~4 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=b87bb40b62310328e908d580e013e0575b05886c;p=linux-2.6-omap-h63xx.git [MIPS] Alchemy: fix off by two error in __fixup_bigphys_addr() the 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 Signed-off-by: Ralf Baechle --- diff --git a/arch/mips/au1000/common/setup.c b/arch/mips/au1000/common/setup.c index a90d425d465..d885e3848ec 100644 --- a/arch/mips/au1000/common/setup.c +++ b/arch/mips/au1000/common/setup.c @@ -137,12 +137,11 @@ phys_t __fixup_bigphys_addr(phys_t phys_addr, phys_t size) #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); }