From 0bb730d550687a2fb4a9b92ed8cfce00dd67bd57 Mon Sep 17 00:00:00 2001
From: Rahix <rahix@rahix.de>
Date: Sat, 14 Sep 2019 20:04:27 +0200
Subject: [PATCH] fix(pmic): Fix interrupts getting ignored during startup

Fixes #156

Signed-off-by: Rahix <rahix@rahix.de>
---
 epicardium/modules/pmic.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/epicardium/modules/pmic.c b/epicardium/modules/pmic.c
index af336fe7..f8760532 100644
--- a/epicardium/modules/pmic.c
+++ b/epicardium/modules/pmic.c
@@ -314,6 +314,13 @@ void vPmicTask(void *pvParameters)
 	}
 	xTimerStart(pmic_timer, 0);
 
+	/*
+	 * Poll once before going to sleep in case the PMIC had triggered an
+	 * interrupt already.  This can occur, for example, if the user presses
+	 * the power-button during the version splash-screen.
+	 */
+	pmic_poll_interrupts(&button_start_tick, 0);
+
 	while (1) {
 		uint32_t reason;
 		if (button_start_tick == 0) {
-- 
GitLab