On Fri, Jul 23, 2010 at 05:56:38PM +0200, jes.soren...@redhat.com wrote: > From: Jes Sorensen <jes.soren...@redhat.com> > > pc-0.11 and older uses fw_cfg to provide option ROMs. As fw_cfg is setup > at init time, it is not possible to load an option ROM for a hotplug > device when running in compat mode. > > v2: Alex Williamson pointed out that one can get to qdev directly from > pci_dev, so no need to pass it down. > > Signed-off-by: Jes Sorensen <jes.soren...@redhat.com> > --- > hw/pci.c | 8 ++++++-- > 1 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/hw/pci.c b/hw/pci.c > index a98d6f3..2d38643 100644 > --- a/hw/pci.c > +++ b/hw/pci.c > @@ -1810,11 +1810,15 @@ static int pci_add_option_rom(PCIDevice *pdev) > return 0; > > if (!pdev->rom_bar) { > + int class; > /* > * Load rom via fw_cfg instead of creating a rom bar, > - * for 0.11 compatibility. > + * for 0.11 compatibility. fw_cfg is initialized at boot, so > + * we cannot do hotplug load of option roms. > */ > - int class = pci_get_word(pdev->config + PCI_CLASS_DEVICE); > + if (pdev->qdev.hotplugged) > + return 0;
Missing braces around the return 0 line. > + class = pci_get_word(pdev->config + PCI_CLASS_DEVICE); > if (class == 0x0300) { > rom_add_vga(pdev->romfile); > } else { > -- > 1.7.1.1 Otherwise looks good. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net