Some SDK functions rely on atomic writes (section 2.1.2 in the datasheet). One example is pio_interrupt_clear()
, which currently has no effect and thus does not clear the IRQ flag, causing the corresponding interrupt to be fired repeatedly. The fix in 5bc9699 surfaced this bug.