diff options
| author | Andrew Thompson <thompsa@FreeBSD.org> | 2009-10-29 23:11:13 +0000 |
|---|---|---|
| committer | Andrew Thompson <thompsa@FreeBSD.org> | 2009-10-29 23:11:13 +0000 |
| commit | d51a8c13ead0f9e2102d02eceebb43ec16d77785 (patch) | |
| tree | 95ca62555dbaf3d22c137241fa819ccf9a893193 | |
| parent | 2bb2691018aaa49a2f56bc443a6db8cc7c3f8651 (diff) | |
Notes
| -rw-r--r-- | sys/dev/usb/serial/uipaq.c | 4 | ||||
| -rw-r--r-- | sys/dev/usb/usb.h | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/usb/serial/uipaq.c b/sys/dev/usb/serial/uipaq.c index 79fe21e5c2c4..89a4cd254ab4 100644 --- a/sys/dev/usb/serial/uipaq.c +++ b/sys/dev/usb/serial/uipaq.c @@ -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)); } diff --git a/sys/dev/usb/usb.h b/sys/dev/usb/usb.h index 68c3caf6a056..119839831c1c 100644 --- a/sys/dev/usb/usb.h +++ b/sys/dev/usb/usb.h @@ -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 |
