|
@@ -628,7 +628,9 @@ int pcibios_add_device(struct pci_dev *dev)
|
|
|
|
|
|
pa_data = boot_params.hdr.setup_data;
|
|
|
while (pa_data) {
|
|
|
- data = phys_to_virt(pa_data);
|
|
|
+ data = ioremap(pa_data, sizeof(*rom));
|
|
|
+ if (!data)
|
|
|
+ return -ENOMEM;
|
|
|
|
|
|
if (data->type == SETUP_PCI) {
|
|
|
rom = (struct pci_setup_rom *)data;
|
|
@@ -645,6 +647,7 @@ int pcibios_add_device(struct pci_dev *dev)
|
|
|
}
|
|
|
}
|
|
|
pa_data = data->next;
|
|
|
+ iounmap(data);
|
|
|
}
|
|
|
return 0;
|
|
|
}
|