summaryrefslogtreecommitdiff
path: root/ports/esp32/machine_hw_spi.c
diff options
context:
space:
mode:
Diffstat (limited to 'ports/esp32/machine_hw_spi.c')
-rw-r--r--ports/esp32/machine_hw_spi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ports/esp32/machine_hw_spi.c b/ports/esp32/machine_hw_spi.c
index 76b1896bb..ca530ba94 100644
--- a/ports/esp32/machine_hw_spi.c
+++ b/ports/esp32/machine_hw_spi.c
@@ -346,7 +346,9 @@ STATIC void machine_hw_spi_transfer(mp_obj_base_t *self_in, size_t len, const ui
if (offset > 0) {
// wait for previously queued transaction
+ MP_THREAD_GIL_EXIT();
spi_device_get_trans_result(self->spi, &result, portMAX_DELAY);
+ MP_THREAD_GIL_ENTER();
}
// doesn't need ceil(); loop ends when bits_remaining is 0
@@ -354,7 +356,9 @@ STATIC void machine_hw_spi_transfer(mp_obj_base_t *self_in, size_t len, const ui
}
// wait for last transaction
+ MP_THREAD_GIL_EXIT();
spi_device_get_trans_result(self->spi, &result, portMAX_DELAY);
+ MP_THREAD_GIL_ENTER();
spi_device_release_bus(self->spi);
}
}