[flashrom] [PATCH] Allow DMI supported board enables with subsystem ID zero.

Michael Karcher flashrom at mkarcher.dialup.fu-berlin.de
Thu Feb 4 10:24:40 CET 2010


Am Donnerstag, den 04.02.2010, 01:58 +0100 schrieb Carl-Daniel
Hailfinger:
> On 29.01.2010 01:40, Michael Karcher wrote:
> > --- a/board_enable.c
> > +++ b/board_enable.c
> > @@ -1312,7 +1312,8 @@ static struct board_pciid_enable *board_match_pci_card_ids(void)
> >  	struct board_pciid_enable *board = board_pciid_enables;
> >  
> >  	for (; board->vendor_name; board++) {
> > -		if (!board->first_card_vendor || !board->first_card_device)
> > +		if (!board->first_card_vendor || 
> > +		    (!board->first_card_device && !board->dmi_pattern))
> >  			continue;
> >  
> >  		if (!pci_card_find(board->first_vendor, board->first_device,
> >   
> This code still requires a nonzero subsystem vendor even if a DMI
> pattern is present.
That condition is completely wrong. I meant (!board->first_card_vendor
&& !board->dmi_pattern). The idea is that a zero subsystem ID is fine
when matching with DMI, but the zero subsystem ID is still matched by
pci_card_find.

> If that is intentional (I thought DMI would
> eliminate subsystem vendor+device requirement),
No, DMI was not meant to make softer matching in PCI space, just to make
stronger matches. The patch is just to avoid bogus rejects on boards
with no subsystem IDs (meaning subsystem ID zero) at all.

Regards,
  Michael Karcher





More information about the flashrom mailing list