diff options
-rw-r--r-- | drivers/pci/rom.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/pci/rom.c b/drivers/pci/rom.c index 946795fc0071..3a33f5ce314a 100644 --- a/drivers/pci/rom.c +++ b/drivers/pci/rom.c | |||
@@ -108,6 +108,12 @@ size_t pci_get_rom_size(struct pci_dev *pdev, void __iomem *rom, size_t size) | |||
108 | /* Avoid iterating through memory outside the resource window */ | 108 | /* Avoid iterating through memory outside the resource window */ |
109 | if (image >= rom + size) | 109 | if (image >= rom + size) |
110 | break; | 110 | break; |
111 | if (!last_image) { | ||
112 | if (readw(image) != 0xAA55) { | ||
113 | pci_info(pdev, "No more image in the PCI ROM\n"); | ||
114 | break; | ||
115 | } | ||
116 | } | ||
111 | } while (length && !last_image); | 117 | } while (length && !last_image); |
112 | 118 | ||
113 | /* never return a size larger than the PCI resource window */ | 119 | /* never return a size larger than the PCI resource window */ |