reviving this, as I've run into this issue with some Intel 10Gbe NICs on a board I've been testing (Intel Corporation Ethernet Connection X552 10 GbE SFP+ [8086:15ac]).  This patch resolves the issue for me

On Wed, Dec 5, 2018 at 4:49 PM Kevin O'Connor <kevin@koconnor.net> wrote:
On Wed, Dec 05, 2018 at 07:55:58AM +0100, Gerd Hoffmann wrote:
> On Fri, Nov 30, 2018 at 12:53:38PM +0100, Gerd Hoffmann wrote:
> >   Hi,
> >
> > > Do you know, for this particular optionrom, if int19 is recaptured and
> > > the user then chooses it from the boot menu, does it continue to work?
> >
> > I've asked them to test that.
>
> Feedback arrived:  Yes, picking a nic from the boot menu continues to
> work with recaptured int19.

Okay, thanks.  If you think recapturing int19 is the best way forward
then I'm okay with that.

I do think it may be prudent to limit the test a little more (just in
an abundance of caution).  For example, something like the below.

-Kevin


--- a/src/optionroms.c
+++ b/src/optionroms.c
@@ -327,8 +334,12 @@ init_pcirom(struct pci_device *pci, int isvga, u64 *sources)
     if (! rom)
         // No ROM present.
         return;
+    int irq_was_captured = boot_irq_captured();
     setRomSource(sources, rom, RS_PCIROM | (u32)pci);
     init_optionrom(rom, pci->bdf, isvga);
+    if (boot_irq_captured() && !irq_was_captured && !file && !isvga)
+        // This PCI rom is misbehaving - recapture the boot irqs
+        recapture_boot_irq();
 }



_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios