Messages in this thread Patch in this message | | | Date | Sat, 16 Jul 2005 09:09:32 -0400 | From | Jon Smirl <> | Subject | PATCH: Adjust PCI rom code to handle more broken ROMs |
| |
There are ROMs reporting that their size exceeds their PCI ROM resource window. This patch returns the minimum of the resource window size or the size in the ROM. An example of this breakage is the XGI Volari Z7.
Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Patch is in an attachment since gmail will mangle the tabs.
-- Jon Smirl jonsmirl@gmail.com diff --git a/drivers/pci/rom.c b/drivers/pci/rom.c --- a/drivers/pci/rom.c +++ b/drivers/pci/rom.c @@ -125,7 +125,9 @@ void __iomem *pci_map_rom(struct pci_dev 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; } | |