Hopefully corrected the interrupt en/disable code

There was still a race condition when interrupts were being disabled,
and it was the classic "check before set" problem. That should be fixed
and I removed the nesc warnings.