Module Name:    src
Committed By:   blymn
Date:           Thu Jun 14 05:14:42 UTC 2012

Modified Files:
        src/sys/dev/usb: umodem.c usb.h

Log Message:
Add the CDC protocol identifier "no class specific protocol required"
and allow the umodem match routine to match on this protocol.  This
allows some recent arduino boards serial interfaces to attach.


To generate a diff of this commit:
cvs rdiff -u -r1.63 -r1.64 src/sys/dev/usb/umodem.c
cvs rdiff -u -r1.94 -r1.95 src/sys/dev/usb/usb.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/usb/umodem.c
diff -u src/sys/dev/usb/umodem.c:1.63 src/sys/dev/usb/umodem.c:1.64
--- src/sys/dev/usb/umodem.c:1.63	Fri Feb 24 06:48:27 2012
+++ src/sys/dev/usb/umodem.c	Thu Jun 14 05:14:41 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: umodem.c,v 1.63 2012/02/24 06:48:27 mrg Exp $	*/
+/*	$NetBSD: umodem.c,v 1.64 2012/06/14 05:14:41 blymn Exp $	*/
 
 /*
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -44,7 +44,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: umodem.c,v 1.63 2012/02/24 06:48:27 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: umodem.c,v 1.64 2012/06/14 05:14:41 blymn Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -100,7 +100,7 @@ umodem_match(device_t parent, cfdata_t m
 
 	if (uaa->class != UICLASS_CDC ||
 	    uaa->subclass != UISUBCLASS_ABSTRACT_CONTROL_MODEL ||
-	    uaa->proto != UIPROTO_CDC_AT)
+	    !(uaa->proto == UIPROTO_CDC_NOCLASS || uaa->proto == UIPROTO_CDC_AT))
 		return (UMATCH_NONE);
 
 	id = usbd_get_interface_descriptor(uaa->iface);

Index: src/sys/dev/usb/usb.h
diff -u src/sys/dev/usb/usb.h:1.94 src/sys/dev/usb/usb.h:1.95
--- src/sys/dev/usb/usb.h:1.94	Tue Mar  6 02:49:03 2012
+++ src/sys/dev/usb/usb.h	Thu Jun 14 05:14:41 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: usb.h,v 1.94 2012/03/06 02:49:03 mrg Exp $	*/
+/*	$NetBSD: usb.h,v 1.95 2012/06/14 05:14:41 blymn Exp $	*/
 /*	$FreeBSD: src/sys/dev/usb/usb.h,v 1.14 1999/11/17 22:33:46 n_hibma Exp $	*/
 
 /*
@@ -481,6 +481,8 @@ typedef struct {
 #define	 UISUBCLASS_CAPI_CONTROLMODEL		5
 #define	 UISUBCLASS_ETHERNET_NETWORKING_CONTROL_MODEL 6
 #define	 UISUBCLASS_ATM_NETWORKING_CONTROL_MODEL 7
+#define	  UIPROTO_CDC_NOCLASS			0 /* no class specific
+						     protocol required */
 #define   UIPROTO_CDC_AT			1
 
 #define UICLASS_HID		0x03

Reply via email to