Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Nov 2014 03:07:47 +0000 (UTC)
From:      Luiz Otavio O Souza <loos@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r274415 - head/sys/arm/broadcom/bcm2835
Message-ID:  <201411120307.sAC37lgI084846@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



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