crit_rundeferred() will be called from doreti(), assert CRIT_DEPTH.

Although crit_rundeferred() is not public, it will be called from the
stubs, and we assume that since we're returning from an interrupt,
we're outside of a critical section, but lets be sure.
Remove spllower() and Xspllower().

They're already surpassed by crit_rundeferred().
Cleanup ist_resume and ist_recurse, notes below.

Concerning doreti:
Old code was doing:
cli
make sure ipendings are cleared
continue

I'm not totally sure the ipending test is required, but I've kept the
same behaviour.