Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Dec 2008 18:58:19 GMT
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 154057 for review
Message-ID:  <200812041858.mB4IwJa4011278@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help

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

Change 154057 by hselasky@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) "



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