diff options
| author | Scott Shawcroft <scott@tannewt.org> | 2017-09-06 14:49:30 -0700 |
|---|---|---|
| committer | Dan Halbert <halbert@halwitz.org> | 2017-09-06 17:49:30 -0400 |
| commit | 6467e3d40b0297f88ccbad8fa565aa3790c2931a (patch) | |
| tree | cb1669d14215dd6d9f01415eb99bd56b80e6494d | |
| parent | acbca4451253d71645669a2137260d1fefaf5ac6 (diff) | |
shared-bindings: Prevent check_lock from being optimized away. (#240)
Fixes #229
| -rw-r--r-- | shared-bindings/busio/I2C.c | 1 | ||||
| -rw-r--r-- | shared-bindings/busio/SPI.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/shared-bindings/busio/I2C.c b/shared-bindings/busio/I2C.c index a10a792fd..0431add78 100644 --- a/shared-bindings/busio/I2C.c +++ b/shared-bindings/busio/I2C.c @@ -110,6 +110,7 @@ STATIC mp_obj_t busio_i2c_obj___exit__(size_t n_args, const mp_obj_t *args) { STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(busio_i2c___exit___obj, 4, 4, busio_i2c_obj___exit__); static void check_lock(busio_i2c_obj_t *self) { + asm(""); if (!common_hal_busio_i2c_has_lock(self)) { mp_raise_RuntimeError("Function requires lock."); } diff --git a/shared-bindings/busio/SPI.c b/shared-bindings/busio/SPI.c index 9f073234e..6e2ea5a6a 100644 --- a/shared-bindings/busio/SPI.c +++ b/shared-bindings/busio/SPI.c @@ -126,6 +126,7 @@ STATIC mp_obj_t busio_spi_obj___exit__(size_t n_args, const mp_obj_t *args) { STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(busio_spi_obj___exit___obj, 4, 4, busio_spi_obj___exit__); static void check_lock(busio_spi_obj_t *self) { + asm(""); if (!common_hal_busio_spi_has_lock(self)) { mp_raise_RuntimeError("Function requires lock"); } |
