Skip to content

Commit

Permalink
[undi] Try matching UNDI ROMs in BIOS enumeration order
Browse files Browse the repository at this point in the history
When searching for an UNDI ROM to match against a PCI device, search
in order of increasing ROM address (within the 128kB BIOS option ROM
area).  This is likely (though not guaranteed) to match the order of
the original enumeration performed by the BIOS, which is in turn
likely to match the order of enumeration on the PCI bus.

Since we load at most one UNDI ROM, the net result is that we increase
our chances of loading the ROM corresponding to the selected PCI
device (rather than loading a ROM corresponding to a higher-numbered
PCI device with the same vendor and device IDs.)

Signed-off-by: Michael Brown <mcb30@ipxe.org>
  • Loading branch information
mcb30 committed Dec 7, 2016
1 parent 80c482c commit e09331a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/arch/x86/drivers/net/undirom.c
Expand Up @@ -168,7 +168,7 @@ static int undirom_probe ( unsigned int rom_segment ) {

/* Add to UNDI ROM list and return */
DBGC ( undirom, "UNDIROM %p registered\n", undirom );
list_add ( &undirom->list, &undiroms );
list_add_tail ( &undirom->list, &undiroms );
return 0;

err:
Expand Down

0 comments on commit e09331a

Please sign in to comment.