summaryrefslogtreecommitdiffstats
path: root/sys/dev/if_ndis
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/if_ndis')
-rw-r--r--sys/dev/if_ndis/if_ndis_pccard.c9
-rw-r--r--sys/dev/if_ndis/if_ndis_pci.c9
2 files changed, 14 insertions, 4 deletions
diff --git a/sys/dev/if_ndis/if_ndis_pccard.c b/sys/dev/if_ndis/if_ndis_pccard.c
index 1963ff8..b0846e8 100644
--- a/sys/dev/if_ndis/if_ndis_pccard.c
+++ b/sys/dev/if_ndis/if_ndis_pccard.c
@@ -69,7 +69,8 @@ static int ndis_probe_pccard (device_t);
static int ndis_attach_pccard (device_t);
static struct resource_list *ndis_get_resource_list
(device_t, device_t);
-static int ndis_devcompare (struct ndis_pccard_type *, device_t);
+static int ndis_devcompare (interface_type,
+ struct ndis_pccard_type *, device_t);
extern int ndisdrv_modevent (module_t, int, void *);
extern int ndis_attach (device_t);
extern int ndis_shutdown (device_t);
@@ -111,13 +112,17 @@ static devclass_t ndis_devclass;
DRIVER_MODULE(ndis, pccard, ndis_driver, ndis_devclass, ndisdrv_modevent, 0);
static int
-ndis_devcompare(t, dev)
+ndis_devcompare(bustype, t, dev)
+ interface_type bustype;
struct ndis_pccard_type *t;
device_t dev;
{
const char *prodstr, *vendstr;
int error;
+ if (bustype != PCMCIABus)
+ return(FALSE);
+
error = pccard_get_product_str(dev, &prodstr);
if (error)
return(FALSE);
diff --git a/sys/dev/if_ndis/if_ndis_pci.c b/sys/dev/if_ndis/if_ndis_pci.c
index 81878f4..e54cb61 100644
--- a/sys/dev/if_ndis/if_ndis_pci.c
+++ b/sys/dev/if_ndis/if_ndis_pci.c
@@ -68,7 +68,8 @@ static int ndis_probe_pci (device_t);
static int ndis_attach_pci (device_t);
static struct resource_list *ndis_get_resource_list
(device_t, device_t);
-static int ndis_devcompare (struct ndis_pci_type *, device_t);
+static int ndis_devcompare (interface_type,
+ struct ndis_pci_type *, device_t);
extern int ndisdrv_modevent (module_t, int, void *);
extern int ndis_attach (device_t);
extern int ndis_shutdown (device_t);
@@ -103,10 +104,14 @@ DRIVER_MODULE(ndis, pci, ndis_driver, ndis_devclass, ndisdrv_modevent, 0);
DRIVER_MODULE(ndis, cardbus, ndis_driver, ndis_devclass, ndisdrv_modevent, 0);
static int
-ndis_devcompare(t, dev)
+ndis_devcompare(bustype, t, dev)
+ interface_type bustype;
struct ndis_pci_type *t;
device_t dev;
{
+ if (bustype != PCIBus)
+ return(FALSE);
+
while(t->ndis_name != NULL) {
if ((pci_get_vendor(dev) == t->ndis_vid) &&
(pci_get_device(dev) == t->ndis_did) &&
OpenPOWER on IntegriCloud