From 9273a2b597ca65ac44bbb7bbeefdec5ccca9e848 Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Thu, 20 Jan 2005 20:03:37 +0000 Subject: [PATCH] Only match ethernet functions. I've not seen any multifunction cards (from a PC Card sense), so this should be a nop. The pseudo-multifunction cards (eg Silicom ones) need a special driver anyway.. --- sys/dev/ex/if_ex_pccard.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/dev/ex/if_ex_pccard.c b/sys/dev/ex/if_ex_pccard.c index 1d1c383760f..d0daa92fd21 100644 --- a/sys/dev/ex/if_ex_pccard.c +++ b/sys/dev/ex/if_ex_pccard.c @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include "pccarddevs.h" @@ -88,6 +89,12 @@ static int ex_pccard_match(device_t dev) { const struct pccard_product *pp; + /* Make sure we're a network function */ + error = pccard_get_function(dev, &fcn); + if (error != 0) + return (error); + if (fcn != PCCARD_FUNCTION_NETWORK) + return (ENXIO); if ((pp = pccard_product_lookup(dev, ex_pccard_products, sizeof(ex_pccard_products[0]), NULL)) != NULL) {