Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Aug 2009 05:01:06 +0000 (UTC)
From:      Alfred Perlstein <alfred@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r196493 - in head/sys/dev/usb: . serial
Message-ID:  <200908240501.n7O516sV082524@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: alfred
Date: Mon Aug 24 05:01:06 2009
New Revision: 196493
URL: http://svn.freebsd.org/changeset/base/196493

Log:
           - Fix false positive uipaq probe
  
  Reported by: Alexander Motin <mav@freebsd.org>
  
  Submitted by:	hps

Modified:
  head/sys/dev/usb/serial/uipaq.c
  head/sys/dev/usb/usb.h

Modified: head/sys/dev/usb/serial/uipaq.c
==============================================================================
--- head/sys/dev/usb/serial/uipaq.c	Mon Aug 24 05:00:33 2009	(r196492)
+++ head/sys/dev/usb/serial/uipaq.c	Mon Aug 24 05:01:06 2009	(r196493)
@@ -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));
 }
 

Modified: head/sys/dev/usb/usb.h
==============================================================================
--- head/sys/dev/usb/usb.h	Mon Aug 24 05:00:33 2009	(r196492)
+++ head/sys/dev/usb/usb.h	Mon Aug 24 05:01:06 2009	(r196493)
@@ -484,6 +484,8 @@ typedef struct usb_interface_assoc_descr
 #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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908240501.n7O516sV082524>