summaryrefslogtreecommitdiffstats
path: root/sys/dev/pccard
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2001-11-20 06:15:24 +0000
committerimp <imp@FreeBSD.org>2001-11-20 06:15:24 +0000
commite42e956dfb7784df6fd9e0209cbe4ae5bbdf4b57 (patch)
tree54d21c2cef78bd8b91a41c29818656926bbbc3ed /sys/dev/pccard
parent96bd9ad269f51889ca6d97b64bbabc5af98e1caf (diff)
downloadFreeBSD-src-e42e956dfb7784df6fd9e0209cbe4ae5bbdf4b57.zip
FreeBSD-src-e42e956dfb7784df6fd9e0209cbe4ae5bbdf4b57.tar.gz
Weed out those pccard entries that match everything. These are too
dangerous to allow :-) This should fix the ed1: <PLANEX ... bug.
Diffstat (limited to 'sys/dev/pccard')
-rw-r--r--sys/dev/pccard/pccard.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/pccard/pccard.c b/sys/dev/pccard/pccard.c
index 99096ee..a482e95 100644
--- a/sys/dev/pccard/pccard.c
+++ b/sys/dev/pccard/pccard.c
@@ -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;
OpenPOWER on IntegriCloud