From 22d6365976b0e60df4f743d395db5374712b02b0 Mon Sep 17 00:00:00 2001
From: Emmanuel Vadot <manu@FreeBSD.org>
Date: Sat, 30 Apr 2016 18:07:13 +0000
Subject: [PATCH] ACK the interrupt after disabling it, this avoid an interrupt
 storm.

Approved by:	andrew (mentor)
---
 sys/arm/allwinner/aw_nmi.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sys/arm/allwinner/aw_nmi.c b/sys/arm/allwinner/aw_nmi.c
index 6c350cccca91..1cdd50edd562 100644
--- a/sys/arm/allwinner/aw_nmi.c
+++ b/sys/arm/allwinner/aw_nmi.c
@@ -277,8 +277,11 @@ aw_nmi_teardown_intr(device_t dev, struct intr_irqsrc *isrc,
 static void
 aw_nmi_pre_ithread(device_t dev, struct intr_irqsrc *isrc)
 {
+	struct aw_nmi_softc *sc;
 
+	sc = device_get_softc(dev);
 	aw_nmi_disable_intr(dev, isrc);
+	SC_NMI_WRITE(sc, NMI_IRQ_PENDING_REG, NMI_IRQ_ACK);
 }
 
 static void