Author: marcel
Date: Mon May 30 16:10:15 2011
New Revision: 222501
URL: http://svn.freebsd.org/changeset/base/222501

Log:
  MFC r222317:
        Ignore MCR[6] during the probe to fix a false negative.
  
  PR:           kern/129663

Modified:
  stable/8/sys/dev/uart/uart_dev_ns8250.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/dev/uart/uart_dev_ns8250.c
==============================================================================
--- stable/8/sys/dev/uart/uart_dev_ns8250.c     Mon May 30 15:48:28 2011        
(r222500)
+++ stable/8/sys/dev/uart/uart_dev_ns8250.c     Mon May 30 16:10:15 2011        
(r222501)
@@ -242,8 +242,14 @@ ns8250_probe(struct uart_bas *bas)
        val = uart_getreg(bas, REG_IIR);
        if (val & 0x30)
                return (ENXIO);
+       /*
+        * Bit 6 of the MCR (= 0x40) appears to be 1 for the Sun1699
+        * chip, but otherwise doesn't seem to have a function. In
+        * other words, uart(4) works regardless. Ignore that bit so
+        * the probe succeeds.
+        */
        val = uart_getreg(bas, REG_MCR);
-       if (val & 0xe0)
+       if (val & 0xa0)
                return (ENXIO);
 
        return (0);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to