]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/pci/rom.c
Merge HEAD from master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
[mv-sheeva.git] / drivers / pci / rom.c
index 838575e3fac6b7d95a03953e066c46e7c41fc137..713c78f3a65d22950adccf6a5111ecc03a328778 100644 (file)
@@ -125,7 +125,9 @@ void __iomem *pci_map_rom(struct pci_dev *pdev, size_t *size)
                image += readw(pds + 16) * 512;
        } while (!last_image);
 
-       *size = image - rom;
+       /* never return a size larger than the PCI resource window */
+       /* there are known ROMs that get the size wrong */
+       *size = min((size_t)(image - rom), *size);
 
        return rom;
 }