summaryrefslogtreecommitdiffstats
path: root/sys/arm/broadcom
diff options
context:
space:
mode:
authorloos <loos@FreeBSD.org>2014-11-12 03:07:46 +0000
committerloos <loos@FreeBSD.org>2014-11-12 03:07:46 +0000
commit8fddc417c9c63cb5342b72d6216583e1d9b55632 (patch)
tree54f82c9f43857e2ecf0d6ede0f6c33f0bf0ef513 /sys/arm/broadcom
parent6810cd7aa8b1370942f999924f1b69f0043230d7 (diff)
downloadFreeBSD-src-8fddc417c9c63cb5342b72d6216583e1d9b55632.zip
FreeBSD-src-8fddc417c9c63cb5342b72d6216583e1d9b55632.tar.gz
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
Diffstat (limited to 'sys/arm/broadcom')
-rw-r--r--sys/arm/broadcom/bcm2835/bcm2835_bsc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/arm/broadcom/bcm2835/bcm2835_bsc.c b/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
index 4c69765..58fa09e 100644
--- a/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
+++ b/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
@@ -441,7 +441,7 @@ bcm_bsc_transfer(device_t dev, struct iic_msg *msgs, uint32_t nmsgs)
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;
OpenPOWER on IntegriCloud