Author: loos
Date: Wed Nov 12 03:07:46 2014
New Revision: 274415
URL: https://svnweb.freebsd.org/changeset/base/274415

Log:
  Fix the error checking, broken on r273337, to _not_ ignore controller
  errors.
  
  Without this fix you can't even scan the bus (all operations will always
  succeed).
  
  MFC with:     r273337
  Pointy hat to:        loos

Modified:
  head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c Wed Nov 12 02:44:27 2014        
(r274414)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c Wed Nov 12 03:07:46 2014        
(r274415)
@@ -441,7 +441,7 @@ bcm_bsc_transfer(device_t dev, struct ii
                err = mtx_sleep(dev, &sc->sc_mtx, 0, "bsciow", hz);
 
                /* Check for errors. */
-               if (err != 0 && (sc->sc_flags & BCM_I2C_ERROR))
+               if (err == 0 && (sc->sc_flags & BCM_I2C_ERROR))
                        err = EIO;
                if (err != 0)
                        break;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to