Index: sys/dev/pms/freebsd/driver/common/lxutil.c =================================================================== --- sys/dev/pms/freebsd/driver/common/lxutil.c (revision 286091) +++ sys/dev/pms/freebsd/driver/common/lxutil.c (working copy) @@ -758,6 +758,7 @@ STATIC int agtiapi_ProbeCard( device_t d int idx; static U32 cardMap[4] = { 0, 0, 0, 0 }; u_int16_t agtiapi_dev; // PCI device ID + u_int16_t agtiapi_vendor; // PCI vendor ID AGTIAPI_PRINTK("agtiapi_ProbeCard: start\n"); if ( ! atomic_cmpset_32( &cardMap[thisCard], 0, 5 ) ) { // card already ran @@ -766,10 +767,12 @@ STATIC int agtiapi_ProbeCard( device_t d } else { agtiapi_dev = pci_get_device( dev ); // get PCI device ID + agtiapi_vendor = pci_get_vendor( dev ); // get PCI vendor ID for( idx = 0; idx < COUNT(ag_card_type); idx++ ) { - if( ag_card_type[idx].deviceId == agtiapi_dev ) - { // device ID match + if( ag_card_type[idx].deviceId == agtiapi_dev && + ag_card_type[idx].vendorId == agtiapi_vendor ) + { // device and vendor IDs match memset( (void *)&agCardInfoList[ thisCard ], 0, sizeof(ag_card_info_t) ); thisCardInst->cardIdIndex = idx;