Author: ian
Date: Tue Jul 26 22:26:49 2016
New Revision: 303346
URL: https://svnweb.freebsd.org/changeset/base/303346

Log:
  Actually return line status register values from umoscom_cfg_get_status().
  
  The hardware delivers ns16550-compatible status bits, which is what the
  usb_serial code expects, so no need for translation, no need for a local
  variable to hold a temporary lsr result.

Modified:
  head/sys/dev/usb/serial/umoscom.c

Modified: head/sys/dev/usb/serial/umoscom.c
==============================================================================
--- head/sys/dev/usb/serial/umoscom.c   Tue Jul 26 21:27:02 2016        
(r303345)
+++ head/sys/dev/usb/serial/umoscom.c   Tue Jul 26 22:26:49 2016        
(r303346)
@@ -523,14 +523,16 @@ static void
 umoscom_cfg_get_status(struct ucom_softc *ucom, uint8_t *p_lsr, uint8_t *p_msr)
 {
        struct umoscom_softc *sc = ucom->sc_parent;
-       uint8_t lsr;
        uint8_t msr;
 
        DPRINTFN(5, "\n");
 
-       /* read status registers */
+       /*
+        * Read status registers.  MSR bits need translation from ns16550 to
+        * SER_* values.  LSR bits are ns16550 in hardware and ucom.
+        */
 
-       lsr = umoscom_cfg_read(sc, UMOSCOM_LSR);
+       *p_lsr = umoscom_cfg_read(sc, UMOSCOM_LSR);
        msr = umoscom_cfg_read(sc, UMOSCOM_MSR);
 
        /* translate bits */
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to