diff options
Diffstat (limited to 'drivers/pci/rom.c')
| -rw-r--r-- | drivers/pci/rom.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pci/rom.c b/drivers/pci/rom.c index 838575e3fac6..713c78f3a65d 100644 --- a/drivers/pci/rom.c +++ b/drivers/pci/rom.c | |||
| @@ -125,7 +125,9 @@ void __iomem *pci_map_rom(struct pci_dev *pdev, size_t *size) | |||
| 125 | image += readw(pds + 16) * 512; | 125 | image += readw(pds + 16) * 512; |
| 126 | } while (!last_image); | 126 | } while (!last_image); |
| 127 | 127 | ||
| 128 | *size = image - rom; | 128 | /* never return a size larger than the PCI resource window */ |
| 129 | /* there are known ROMs that get the size wrong */ | ||
| 130 | *size = min((size_t)(image - rom), *size); | ||
| 129 | 131 | ||
| 130 | return rom; | 132 | return rom; |
| 131 | } | 133 | } |
