In __local_bh_enable, we have a
WARN_ON_ONCE(!irqs_disabled());
I'm wondering what the purpose of this warning is -- I would imagine you would want to be able to renable bottomhalves when in say  spinlock_irq protected code...   (note: I'm looking at linux 3.4 code here, but it also seems to be in 4.1).