alpha/PCI: Call iomem_is_exclusive() for IORESOURCE_MEM, but not IORESOURCE_IO
[pandora-kernel.git] / arch / alpha / kernel / pci-sysfs.c
index b899e95..cb63d52 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #include <linux/sched.h>
+#include <linux/stat.h>
 #include <linux/slab.h>
 #include <linux/pci.h>
 
@@ -77,10 +78,10 @@ static int pci_mmap_resource(struct kobject *kobj,
        if (i >= PCI_ROM_RESOURCE)
                return -ENODEV;
 
-       if (!__pci_mmap_fits(pdev, i, vma, sparse))
+       if (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start))
                return -EINVAL;
 
-       if (iomem_is_exclusive(res->start))
+       if (!__pci_mmap_fits(pdev, i, vma, sparse))
                return -EINVAL;
 
        pcibios_resource_to_bus(pdev, &bar, res);