Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Feb 2010 15:59:21 GMT
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 174516 for review
Message-ID:  <201002091559.o19FxLuw029636@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/chv.cgi?CH=174516

Change 174516 by hselasky@hselasky_laptop001 on 2010/02/09 15:59:14

	
	USB modem:
		- make umodem more tolerant for devices
		  which modem descriptors are misplaced.
		- reported by: Erick Wales
		- patch by: HPS

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb/serial/umodem.c#21 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb/serial/umodem.c#21 (text+ko) ====

@@ -312,11 +312,16 @@
 		    0 - 1, UDESCSUB_CDC_UNION, 0 - 1);
 
 		if ((cud == NULL) || (cud->bLength < sizeof(*cud))) {
-			device_printf(dev, "no CM or union descriptor\n");
-			goto detach;
+			device_printf(dev, "Missing descriptor. "
+			    "Assuming data interface is next.\n");
+			if (sc->sc_ctrl_iface_no == 0xFF)
+				goto detach;
+			else
+				sc->sc_data_iface_no = 
+				    sc->sc_ctrl_iface_no + 1;
+		} else {
+			sc->sc_data_iface_no = cud->bSlaveInterface[0];
 		}
-
-		sc->sc_data_iface_no = cud->bSlaveInterface[0];
 	} else {
 		sc->sc_data_iface_no = cmd->bDataInterface;
 	}



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