[syscalls][interrupts] Mask level triggered interrupts when returning from zx_interrupt_wait
This was the previous behavior, but it got lost somewhere along the way
TEST: manual testing on vim2 and nuc
Change-Id: Ieb1c98963a2f4da4d9e310444e9880830eb4d0a0
diff --git a/kernel/object/interrupt_dispatcher.cpp b/kernel/object/interrupt_dispatcher.cpp
index 69ee0f0..a826c01 100644
--- a/kernel/object/interrupt_dispatcher.cpp
+++ b/kernel/object/interrupt_dispatcher.cpp
@@ -112,6 +112,9 @@
SendPacketLocked(timestamp_);
state_ = InterruptState::NEEDACK;
} else {
+ if (flags_ & INTERRUPT_MASK_POSTWAIT) {
+ MaskInterrupt();
+ }
Signal();
state_ = InterruptState::TRIGGERED;
}