diff options
Diffstat (limited to 'sys/dev/if_ndis')
-rw-r--r-- | sys/dev/if_ndis/if_ndis_pccard.c | 9 | ||||
-rw-r--r-- | sys/dev/if_ndis/if_ndis_pci.c | 9 |
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) && |