Module Name:    src
Committed By:   skrll
Date:           Sun Apr  5 09:12:06 UTC 2015

Modified Files:
        src/sys/dev/usb: usb_subr.c

Log Message:
More debug.


To generate a diff of this commit:
cvs rdiff -u -r1.199 -r1.200 src/sys/dev/usb/usb_subr.c

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/usb_subr.c
diff -u src/sys/dev/usb/usb_subr.c:1.199 src/sys/dev/usb/usb_subr.c:1.200
--- src/sys/dev/usb/usb_subr.c:1.199	Fri Mar 27 07:28:56 2015
+++ src/sys/dev/usb/usb_subr.c	Sun Apr  5 09:12:06 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: usb_subr.c,v 1.199 2015/03/27 07:28:56 skrll Exp $	*/
+/*	$NetBSD: usb_subr.c,v 1.200 2015/04/05 09:12:06 skrll Exp $	*/
 /*	$FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.18 1999/11/17 22:33:47 n_hibma Exp $	*/
 
 /*
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usb_subr.c,v 1.199 2015/03/27 07:28:56 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usb_subr.c,v 1.200 2015/04/05 09:12:06 skrll Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -847,9 +847,12 @@ usbd_attachinterfaces(device_t parent, u
 	ifaces = malloc(nifaces * sizeof(*ifaces), M_USB, M_NOWAIT|M_ZERO);
 	if (!ifaces)
 		return (USBD_NOMEM);
-	for (i = 0; i < nifaces; i++)
-		if (!dev->subdevs[i])
+	for (i = 0; i < nifaces; i++) {
+		if (!dev->subdevs[i]) {
 			ifaces[i] = &dev->ifaces[i];
+		}
+		DPRINTF(("%s: interface %d %p\n", __func__, i, ifaces[i]));
+	}
 
 	uiaa.device = dev;
 	uiaa.port = port;
@@ -866,13 +869,19 @@ usbd_attachinterfaces(device_t parent, u
 	ilocs[USBIFIFCF_CONFIGURATION] = uiaa.configno;
 
 	for (i = 0; i < nifaces; i++) {
-		if (!ifaces[i])
+		if (!ifaces[i]) {
+			DPRINTF(("%s: interface %d claimed\n", __func__, i));
 			continue; /* interface already claimed */
+		}
 		uiaa.iface = ifaces[i];
 		uiaa.class = ifaces[i]->idesc->bInterfaceClass;
 		uiaa.subclass = ifaces[i]->idesc->bInterfaceSubClass;
 		uiaa.proto = ifaces[i]->idesc->bInterfaceProtocol;
 		uiaa.ifaceno = ifaces[i]->idesc->bInterfaceNumber;
+
+		DPRINTF(("%s: searching for interface %d "
+		    "class %x subclass %x proto %x ifaceno %d\n", __func__, i,
+		    uiaa.class, uiaa.subclass, uiaa.proto, uiaa.ifaceno));
 		ilocs[USBIFIFCF_INTERFACE] = uiaa.ifaceno;
 		if (locators != NULL) {
 			loc = locators[USBIFIFCF_CONFIGURATION];
@@ -891,6 +900,8 @@ usbd_attachinterfaces(device_t parent, u
 		/* account for ifaces claimed by the driver behind our back */
 		for (j = 0; j < nifaces; j++) {
 			if (!ifaces[j] && !dev->subdevs[j]) {
+				DPRINTF(("%s: interface %d claimed "
+				    "behind our back", __func__, j));
 				dev->subdevs[j] = dv;
 				dev->nifaces_claimed++;
 			}

Reply via email to