Author: mav
Date: Fri Sep 30 20:35:12 2016
New Revision: 306528
URL: https://svnweb.freebsd.org/changeset/base/306528

Log:
  Fix `sesutil fault` operation.
  
  Fault and ident bits are located in different control bytes, so previous
  code was just doing nothing, writing into reserved bit.
  
  MFC after:    1 week

Modified:
  head/usr.sbin/sesutil/sesutil.c

Modified: head/usr.sbin/sesutil/sesutil.c
==============================================================================
--- head/usr.sbin/sesutil/sesutil.c     Fri Sep 30 20:20:07 2016        
(r306527)
+++ head/usr.sbin/sesutil/sesutil.c     Fri Sep 30 20:35:12 2016        
(r306528)
@@ -118,10 +118,16 @@ do_led(int fd, unsigned int idx, bool on
                err(EXIT_FAILURE, "ENCIOC_GETELMSTAT");
        }
        o.cstat[0] |= 0x80;
-       if (onoff) {
-               o.cstat[2] |= (setfault ? 0x20 : 0x02);
+       if (setfault) {
+               if (onoff)
+                       o.cstat[3] |= 0x20;
+               else
+                       o.cstat[3] &= 0xdf;
        } else {
-               o.cstat[2] &= (setfault ? 0xdf : 0xfd);
+               if (onoff)
+                       o.cstat[2] |= 0x02;
+               else
+                       o.cstat[2] &= 0xfd;
        }
 
        if (ioctl(fd, ENCIOC_SETELMSTAT, (caddr_t) &o) < 0) {
_______________________________________________
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