Weed out those pccard entries that match everything. These are too

dangerous to allow :-)

This should fix the ed1: <PLANEX ... bug.
This commit is contained in:
Warner Losh 2001-11-20 06:15:24 +00:00
parent c8e968571f
commit 03bfaba97c

View File

@ -296,6 +296,15 @@ pccard_product_lookup(device_t dev, const struct pccard_product *tab,
for (ent = tab; ent->pp_name != NULL; ent =
(const struct pccard_product *) ((const char *) ent + ent_size)) {
matches = 1;
if (ent->pp_vendor == PCCARD_VENDOR_ANY &&
ent->pp_product == PCCARD_VENDOR_ANY &&
ent->pp_cis[0] == NULL &&
ent->pp_cis[1] == NULL) {
device_printf(dev,
"Total wildcard entry ignored for %s\n",
ent->pp_name);
continue;
}
if (matches && ent->pp_vendor != PCCARD_VENDOR_ANY &&
vendor != ent->pp_vendor)
matches = 0;