diff options
Diffstat (limited to 'arch/mn10300/unit-asb2305/pci-iomap.c')
| -rw-r--r-- | arch/mn10300/unit-asb2305/pci-iomap.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/mn10300/unit-asb2305/pci-iomap.c b/arch/mn10300/unit-asb2305/pci-iomap.c index c1a8d8f941f..bd65dae17f3 100644 --- a/arch/mn10300/unit-asb2305/pci-iomap.c +++ b/arch/mn10300/unit-asb2305/pci-iomap.c @@ -23,8 +23,12 @@ void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) if (!len || !start) return NULL; - if ((flags & IORESOURCE_IO) || (flags & IORESOURCE_MEM)) - return (void __iomem *) start; + if ((flags & IORESOURCE_IO) || (flags & IORESOURCE_MEM)) { + if (flags & IORESOURCE_CACHEABLE && !(flags & IORESOURCE_IO)) + return ioremap(start, len); + else + return ioremap_nocache(start, len); + } return NULL; } |
