diff --git a/sys/dev/cxgbe/t4_vf.c b/sys/dev/cxgbe/t4_vf.c index 89dae02e9332..8e9d3b34d6a2 100644 --- a/sys/dev/cxgbe/t4_vf.c +++ b/sys/dev/cxgbe/t4_vf.c @@ -160,9 +160,13 @@ static struct cdevsw t4vf_cdevsw = { static int t4vf_probe(device_t dev) { - uint16_t d; + uint16_t d, v; size_t i; + v = pci_get_vendor(dev); + if (v != PCI_VENDOR_ID_CHELSIO) + return (ENXIO); + d = pci_get_device(dev); for (i = 0; i < nitems(t4vf_pciids); i++) { if (d == t4vf_pciids[i].device) { @@ -176,9 +180,13 @@ t4vf_probe(device_t dev) static int t5vf_probe(device_t dev) { - uint16_t d; + uint16_t d, v; size_t i; + v = pci_get_vendor(dev); + if (v != PCI_VENDOR_ID_CHELSIO) + return (ENXIO); + d = pci_get_device(dev); for (i = 0; i < nitems(t5vf_pciids); i++) { if (d == t5vf_pciids[i].device) { @@ -192,9 +200,13 @@ t5vf_probe(device_t dev) static int t6vf_probe(device_t dev) { - uint16_t d; + uint16_t d, v; size_t i; + v = pci_get_vendor(dev); + if (v != PCI_VENDOR_ID_CHELSIO) + return (ENXIO); + d = pci_get_device(dev); for (i = 0; i < nitems(t6vf_pciids); i++) { if (d == t6vf_pciids[i].device) { @@ -208,9 +220,13 @@ t6vf_probe(device_t dev) static int chvf_probe(device_t dev) { - uint16_t d; + uint16_t d, v; size_t i; + v = pci_get_vendor(dev); + if (v != PCI_VENDOR_ID_CHELSIO) + return (ENXIO); + d = pci_get_device(dev); for (i = 0; i < nitems(t7vf_pciids); i++) { if (d == t7vf_pciids[i].device) {