- Fix false positive uipaq probe

Reported by: Alexander Motin <mav@freebsd.org>

Submitted by:	hps
This commit is contained in:
Alfred Perlstein 2009-08-24 05:01:06 +00:00
parent 9739167c64
commit ec1201a2c9
2 changed files with 6 additions and 0 deletions

View File

@ -1103,6 +1103,10 @@ uipaq_probe(device_t dev)
if (uaa->info.bIfaceIndex != UIPAQ_IFACE_INDEX) {
return (ENXIO);
}
if (uaa->info.bInterfaceClass == UICLASS_IAD) {
DPRINTF("IAD detected - not UIPAQ serial device\n");
return (ENXIO);
}
return (usbd_lookup_id_by_uaa(uipaq_devs, sizeof(uipaq_devs), uaa));
}

View File

@ -484,6 +484,8 @@ typedef struct usb_interface_assoc_descriptor usb_interface_assoc_descriptor_t;
#define UISUBCLASS_RF 0x01
#define UIPROTO_BLUETOOTH 0x01
#define UICLASS_IAD 0xEF /* Interface Association Descriptor */
#define UICLASS_APPL_SPEC 0xfe
#define UISUBCLASS_FIRMWARE_DOWNLOAD 1
#define UISUBCLASS_IRDA 2