Merge changes I0fa30f93,I1577e934 into nyc-mr1-dev
* changes:
synaptics_s3708: don't double enable or disable interrupts
synaptics_s3708: disable interrupt when powering off
diff --git a/firmware/src/platform/stm32f4xx/exti.c b/firmware/src/platform/stm32f4xx/exti.c
index 2543ac2..5d5cb4b 100644
--- a/firmware/src/platform/stm32f4xx/exti.c
+++ b/firmware/src/platform/stm32f4xx/exti.c
@@ -186,6 +186,8 @@
struct ExtiInterrupt *exti = extiForIrq(n);
if (!exti)
return -EINVAL;
+ else if (!list_is_empty(&isr->node))
+ return -EINVAL;
chainIsr(&exti->base, isr);
if (!mMaxLatency || (isr->maxLatencyNs && isr->maxLatencyNs < mMaxLatency))
@@ -199,6 +201,8 @@
struct ExtiInterrupt *exti = extiForIrq(n);
if (!exti)
return -EINVAL;
+ else if (list_is_empty(&isr->node))
+ return -EINVAL;
unchainIsr(&exti->base, isr);
if (isr->maxLatencyNs && isr->maxLatencyNs == mMaxLatency)