PERFORCE change 154057 for review

Hans Petter Selasky hselasky at FreeBSD.org
Thu Dec 4 10:58:20 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=154057

Change 154057 by hselasky at hselasky_laptop001 on 2008/12/04 18:58:02

	
	Patch from "Ian Lepore" to support proper
	decoding of MSR bits.

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb2/serial/uftdi2.c#12 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb2/serial/uftdi2.c#12 (text+ko) ====

@@ -470,6 +470,7 @@
 {
 	struct uftdi_softc *sc = xfer->priv_sc;
 	uint8_t buf[2];
+	uint8_t ftdi_msr;
 	uint8_t msr;
 	uint8_t lsr;
 
@@ -481,9 +482,19 @@
 		}
 		usb2_copy_out(xfer->frbuffers, 0, buf, 2);
 
-		msr = FTDI_GET_MSR(buf);
+		ftdi_msr = FTDI_GET_MSR(buf);
 		lsr = FTDI_GET_LSR(buf);
 
+		msr = 0;
+		if (ftdi_msr & FTDI_SIO_CTS_MASK)
+			msr |= SER_CTS;
+		if (ftdi_msr & FTDI_SIO_DSR_MASK)
+			msr |= SER_DSR;
+		if (ftdi_msr & FTDI_SIO_RI_MASK)
+			msr |= SER_RI;
+		if (ftdi_msr & FTDI_SIO_RLSD_MASK)
+			msr |= SER_DCD;
+
 		if ((sc->sc_msr != msr) ||
 		    ((sc->sc_lsr & FTDI_LSR_MASK) != (lsr & FTDI_LSR_MASK))) {
 			DPRINTF("status change msr=0x%02x (0x%02x) "


More information about the p4-projects mailing list