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..
This commit is contained in:
Warner Losh 2005-01-20 20:03:37 +00:00
parent e30d646d97
commit 9273a2b597

View File

@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$");
#include <dev/ex/if_exvar.h>
#include <dev/pccard/pccardvar.h>
#include <dev/pccard/pccard_cis.h>
#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) {